MySql 删除多个字段重复的数据(只保留一条)

2020-06-27  本文已影响0人  久伴我还是酒伴我

简介:

因为程序问题,导致数据库表出现重复的数据,因为没有加联合唯一索引,所以需要把重复的数据删除,仅保留一份有效数据即可,以下语句完全符合该场景,故记录下来以备不时之需。

具体执行语句

DELETE FROM 表名 WHERE (字段1,字段2,字段3)
IN 
(SELECT 字段1,字段2,字段3 FROM (SELECT 字段1,字段2,字段3 FROM 表名 GROUP BY 字段1,字段2,字段3 HAVING COUNT(*)>1) s1) 
AND
id NOT IN (SELECT id FROM (SELECT id FROM 表名 GROUP BY 字段1,字段2,字段3 HAVING COUNT(*)>1) s2);
上一篇 下一篇

猜你喜欢

热点阅读