3

如何选择更新日期最近的记录?样本数据:

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 的最新记录?

4

1 回答 1

3

MAX一种选择是使用and加入表本身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
于 2013-06-24T19:54:14.937 回答