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

网友投稿 1536 2022-10-25

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

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

最近在处理业务数据的时候!在几W条记录里存在着些相同的记录,如何用SQL语句,删除掉重复的呢?可以用以下方法进行处理其实很简单!就是查找表中多余的重复记录,重复记录是根据单个字段来查询、然后删除其他重复的记录即可

查询重复记录

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

这样查出来的结果比较乱

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

SELECT * FROM topic WHERE title IN ( SELECT title FROM topic GROUP BY title HAVING Count(*)> 1 ) AND title IN ( SELECT title FROM topic GROUP BY titleHAVING count(*)> 1) ORDER BY title

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

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

SELECT *FROM topicWHERE id NOT IN ( SELECT dt.minId FROM ( SELECT MIN(id) AS minId FROM topic GROUP BY title ) dt )ORDER BY title

删除第一条外的多余数据

DELETEFROM topicWHERE id NOT IN ( SELECT dt.minId FROM ( SELECT MIN(id) AS minId FROM topic GROUP BY title ) dt )ORDER BY title

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ThinkJS是一款拥抱未来的 Node.js Web 框架
下一篇:Remote Browser- 底层的浏览器自动化框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~