MySQL根据条件删除重复数据

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

微信图片_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

完美

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容