MySQLで重複を削除するSQLのめも
こういうテーブルがあった場合に、Noが3と4の行を削除する場合
No | Name | Price |
1 | りんご | 100 |
2 | バナナ | 200 |
3 | ぶどう | 300 |
4 | ぶどう | 300 |
5 | ぶどう | 300 |
DELETE FROM Fruit WHERE No NOT IN (
SELECT Max_No FROM (
SELECT MAX(No) Max_No FROM Fruit GROUP BY Name
) tmp
);
実行後
No | Name | Price |
1 | りんご | 100 |
2 | バナナ | 200 |
5 | ぶどう | 300 |