1. 程式人生 > >SQL語句刪除單表中的重複資料

SQL語句刪除單表中的重複資料

在實際開發中,有時候資料表中會有重複資料,通過sql刪除重複資料,儲存單條資料(ID較小的那一條記錄)


需求:刪除id為22.23條記錄,儲存18.19的記錄

這是通過單表模擬多表刪除的操作.

第一步:查詢重複記錄

SELECT * FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2;


第二步:刪除重複資料

DELETE t1 FROM tdb_goods t1 LEFT JOIN (SELECT * FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>=2) t2
on t1.goods_name = t2.goods_name WHERE t1.goods_id>t2.goods_id;



這樣22和23條記錄就被刪除.