我有一张projects像下面这样的桌子。有两个稍微不同的 id 列idx,并且idy–oneidx可以有多个idys(用于版本控制)。
idx, idy, name, use_count, usage_date
-----, -------, ------------, ----------, ----------
x1, x11, x1 name 1, 10, 1
x1, x13, x1 name 3, 10, 3
x1, x12, x1 name 2, 10, 2
x2, x21, x2 name 1, 10, 2
x3, x31, x3 name 1, 10, 2
目标是巩固使用,使得对于 every idx,结果将具有:
- 相同的
use_countcolSUM(use_count)idx - 最新的
usage_date - 最新usage_date对应的名称
此外,usage_date 必须在一定范围内,但希望这是微不足道的。
idx, idy, name, use_count, usage_date
-----, -------, ------------, ----------, ----------
x1, x13, x1 name 3, 30, 3
x2, x21, x2 name 1, 10, 2
x3, x31, x3 name 1, 10, 2
到目前为止,我有
SELECT
idx, idy, name,
sum(use_count) as use_count,
usage_date
FROM
projects
WHERE
usage_date <= 3
GROUP BY
idx
..但无法弄清楚如何派生项目的最新名称(使用 id x1)