MySQL:如何选择具有最新更新日期的记录

时间:2013-06-24 19:51:50

标签: mysql

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

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

1 个答案:

答案 0 :(得分:3)

一种选择是使用MAXGROUP 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