MySQL 数据查重、去重的实现语句

吾爱主题 阅读:154 2024-04-01 23:49:52 评论:0

有一个表user,字段分别有id、nick_name、password、email、phone。

一、单字段(nick_name)

查出所有有重复记录的所有记录

?
1 select * from user where nick_name in ( select nick_name from user group by nick_name having count (nick_name)>1);

查出有重复记录的各个记录组中id最大的记录

?
1 select * from user where id in ( select max (id) from user group by nick_name having count (nick_name)>1);

查出多余的记录,不查出id最小的记录

?
1 select * from user where nick_name in ( select nick_name from user group by nick_name having count (nick_name)>1) and id not in ( select min (id) from user group by nick_name having count (nick_name)>1);

删除多余的重复记录,只保留id最小的记录

?
1 delete from user where nick_name in ( select nick_name from ( select nick_name from user group by nick_name having count (nick_name)>1) as tmp1) and id not in ( select id from ( select min (id) from user group by nick_name having count (nick_name)>1) as tmp2);

二、多字段(nick_name,password)

查出所有有重复记录的记录

?
1 select * from user where (nick_name, password ) in ( select nick_name, password from user group by nick_name, password where having count (nick_name)>1);

查出有重复记录的各个记录组中id最大的记录

?
1 select * from user where id in ( select max (id) from user group by nick_name, password where having count (nick_name)>1);

查出各个重复记录组中多余的记录数据,不查出id最小的一条

?
1 select * from user where (nick_name, password ) in ( select nick_name, password from user group by nick_name, password having count (nick_name)>1) and id not in ( select min (id) from user group by nick_name, password having count (nick_name)>1);

删除多余的重复记录,只保留id最小的记录

?
1 delete from user where (nick_name, password ) in ( select nick_name, password from ( select nick_name, password from user group by nick_name, password having count (nick_name)>1) as tmp1) and id not in ( select id from ( select min (id) id from user group by nick_name, password having count (nick_name)>1) as tmp2);

以上就是MySQL 数据查重、去重的实现语句的详细内容,更多关于MySQL 数据查重、去重的资料请关注服务器之家其它相关文章!

原文链接:https://www.addcoder.com/blog/article_detail/edbhoezw/

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容