【发布时间】:2021-11-17 05:33:26
【问题描述】:
所以,我有一个名为 RACES 的表,其中包含以下列
raceid | year | round
我想获得每年最后一场比赛的raceid,这将在每年的圆形栏中具有最高值。所以我做了以下查询:
SELECT
year,
max(round)
FROM races
group by year
order by year;
结果是:
year max(round)
1950 7
1951 8
1952 8
1953 9
1954 9
如果我这样做了
SELECT * FROM RACES WHERE YEAR = 1950;
我明白了:
raceid year round
833 1950 1
834 1950 2
835 1950 3
836 1950 4
837 1950 5
838 1950 6
839 1950 7
由于轮数随时间变化,1951 年可能不是 7 轮而是 10 轮。所以我希望始终获得特定年份的轮数最大值,然后将其与相应的 raceid 一起打印圆形的。在这种情况下,它将是 839
由于raceid 不在group by 中,我无法在第一个查询中选择它。我该怎么做?
【问题讨论】:
-
能否也指定预期的结果。