MySQL 数据查重、去重的实现语句
有一个表user,字段分别有id、nick_name、password、email、phone。
一、单字段(nick_name)
查出所有有重复记录的所有记录
select * from user where nick_name in (select nick_name from user group by nick_name having count(nick_name)>1);
查出有重复记录的各个记录组中id最大的记录
select * from user where id in (select max(id) from user group by nick_name having count(nick_name)>1);
查出多余的记录,不查出id最小的记录
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最小的记录
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)
查出所有有重复记录的记录
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最大的记录
select * from user where id in (select max(id) from user group by nick_name,password where having count(nick_name)>1);
查出各个重复记录组中多余的记录数据,不查出id最小的一条
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最小的记录
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 数据查重、去重的资料请关注好吧啦网其它相关文章!
相关文章:
1. mysql启动时报错 ERROR! Manager of pid-file quit without2. MYSQL(电话号码,身份证)数据脱敏的实现3. SQL Server根据查询结果,生成XML文件4. DB2 Spatial Extender 性能调优(2)(1)5. sqlserver数据库导入方法的详细图文教程6. Sql Server Management Studio连接Mysql的实现步骤7. SQL Server 2008通过端口1433连接到主机127.0.0.1的TCP/IP连接失败8. MySQL Innodb 存储结构 和 存储Null值 用法详解9. 解决Mybatis中mapper的ID冲突问题10. 关于if exists的用法及说明
