失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySql根据字段名查询重复记录并删除!只保留一条

MySql根据字段名查询重复记录并删除!只保留一条

时间:2024-04-17 07:14:44

相关推荐

MySql根据字段名查询重复记录并删除!只保留一条

最近在处理业务数据的时候!在几W条记录里存在着些相同的记录,如何用SQL语句,删除掉重复的呢?

可以用以下方法进行处理

其实很简单!就是查找表中多余的重复记录,重复记录是根据单个字段来查询、然后删除其他重复的记录即可

查询重复记录

SELECT id ,title from topic GROUP BY title HAVING count(*) > 1;

这样查出来的结果比较乱

查询全部的重复记录并分组

​​​​SELECT* FROMtopic WHEREtitle IN ( SELECT title FROM topic GROUP BY title HAVING Count(*)> 1 ) AND title IN (SELECTtitle FROMtopic GROUP BYtitleHAVINGcount(*)> 1) ORDER BY title

对查询结果进行分组根据需要的字段

查询除第一条外的多余数据

SELECT*FROMtopicWHEREid NOT IN (SELECTdt.minIdFROM(SELECTMIN(id) AS minIdFROMtopicGROUP BYtitle) dt)ORDER BYtitle

删除第一条外的多余数据

DELETEFROMtopicWHEREid NOT IN (SELECTdt.minIdFROM(SELECTMIN(id) AS minIdFROMtopicGROUP BYtitle) dt)ORDER BYtitle

如果觉得《MySql根据字段名查询重复记录并删除!只保留一条》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。