我有一个具有以下形式的表:
ranking_date ranking player_id ranking_points
------------ ------- --------- ---------------
1980-12-22 3 100284 0
1980-12-22 21 100676 0
1980-12-22 44 100653 0
1980-12-22 136 100713 0
1980-12-22 182 100757 0
1980-12-22 211 100800 0
1980-12-22 255 101061 0
1980-12-22 283 101062 0
1980-12-22 372 100837 0
1980-12-22 390 100682 0
1980-12-22 423 100923 0
1980-12-22 440 100936 0
1983-01-03 2 100284 0
1983-01-03 7 101062 0
1983-01-03 9 100676 0
因此,我想获得每年的最后ranking_date。我的排名从1973年到2016年,但并非所有最近的排名都在12月。另外,当前表的行数略超过一百万,所以我这样做是为了获得年终排名。谢谢你的帮助!
如果我正确理解了您的问题,则您正在尝试列出每年最后一个日期的排名记录。我打电话给你的桌子tablename
SELECT *
FROM tablename
WHERE ranking_date IN (SELECT MAX(ranking_date)
FROM tablename
GROUP BY YEAR(ranking_date))
子查询
SELECT Max(ranking_date) FROM tablename GROUP BY YEAR(ranking_date)
将确定每年的最后(最大或MAX
)个日历日期。通过YEAR(ranking_date)
分组标识年份。将该子查询应用于WHERE
主查询中的子句应提取每年的最后日期的记录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句