下面 TABLENAME 是相同的資料表,主要 ID 與 NAME 加起來不可重複,但只想找到每筆 ID 最大修改時間的 NAME,SQL 如下
SELECT A.ID,
MIN (A.NAME) AS NAME
FROM TABLENAME A
WHERE MODIFYDATE =
(SELECT MAX (MODIFYDATE)
FROM TABLENAME B
WHERE A.ID= B.ID
GROUP BY A.ID
其中 MIN (A.NAME) 只是避免如果真的有重複修改的時間,只取一筆。
2015-12-20 更新
其實這題用排名函數來解,效率很好多!