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

各 ID の最新レコードである行 3、5、および 7 を選択するには、どのようなクエリを作成できますか?

4

1 に答える 1

3

MAX1 つのオプションは、 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 に答える