由于网络延迟,数据拷贝迁移时不谨慎等各种原因,我们数据库出现了重复的数据,需要对数据去重处理,以下给出个简单的方案
案例表结构如下

微信图片_20190821113439.png

1566358560(1).png
表中 陈中中 出现了重复,我们现在需要把重复的去掉,保留id最小的,即id=2的字段,MySQL语句可以这样子写
DELETE FROM student WHERE username IN (
SELECT * FROM (SELECT username FROM student GROUP BY username HAVING count(*) > 1 ) as a)
AND id NOT IN(
SELECT * FROM (SELECT min(id) FROM student GROUP BY username HAVING count(*) > 1) as b)
最后至剩下

image.png
完美