SQL语句删除单表中的重复数据

来源:互联网 发布:淘宝发物流怎么填单号 编辑:程序博客网 时间:2024/06/08 10:55

在实际开发中,有时候数据表中会有重复数据,通过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条记录就被删除.

原创粉丝点击