Tuesday, March 29, 2011

[MYSQL] 排除重複資料僅留下最新一筆資料的語法

假設某資料表為如下:
id | name
------------
1  | aa
2  | aa
3  | bb
4  | cc
5  | cc
如何篩掉name欄位中重複的資料,但保留id欄位最新的一筆,直覺作法上會選擇用
SELECT * FROM table GROUP BY name
但結果卻是留下id最舊的資料,所以,正確做法為...
SELECT * FROM (SELECT * FROM table ORDER BY id DESC) AS a GROUP BY name
註:沒有AS會有錯誤

No comments:

Post a Comment