如何选择具有最新更新日期的记录?样本数据:
id, update_date, data_point
1, 2013-03-01, AAA
1, 2013-03-02, AAB
1, 2013-03-03, AAC
2, 2013-04-02, BAS
2, 2013-04-05, SOR
3, 2013-01-01, AAW
3, 2013-02-02, AJS
我可以写什么查询来选择第3行,第5行和第7行 - 每个ID的最新记录?
答案 0 :(得分:3)
一种选择是使用MAX
和GROUP BY
加入表格:
SELECT t.id, t.update_date, t.data_point
FROM yourtable t
JOIN (
SELECT id, MAX(update_date) max_update_date
FROM Yourtable
GROUP BY id
) t2 on t.id = t2.id AND t.update_date = t2.max_update_date
返回结果:
ID UPDATE_DATE DATA_POINT
-------------------------------------
1 March, 03 2013 AAC
2 April, 05 2013 SOR
3 February, 02 2013 AJS