0
点赞
收藏
分享

微信扫一扫

mysql删除多条重复数据,只保留id最小的那一条数据

Hyggelook 2022-01-11 阅读 201

由于此前激活码表没有做唯一键索引,结果客服在手动导入激活码数据的时候点了多次,导致相同的激活码被多次导入,因此需要删掉重复的激活码数据,只保留重复数据中的一条即可.因此得到以下sql语句:

 DELETE FROM `xxx` WHERE id IN (SELECT id FROM (SELECT id FROM xxx WHERE sn IN 
(SELECT sn FROM xxx GROUP BY sn HAVING COUNT(sn)>1) AND id NOT IN
(SELECT MIN(id) FROM xxx GROUP BY sn HAVING COUNT(sn)>1)) AS tmpresult);

运行玩语句以后,立马加上唯一键索引,避免后续出现这种问题.

举报

相关推荐

0 条评论