sql 查询重复记录(mysql)

1、单子段(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 id in (select max(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);

2、对字段

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

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);

相关推荐
送秋三十五7 分钟前
MySQL DBA需要掌握的 7 个问题
数据库·mysql·dba
jnrjian7 分钟前
v$lock TS lock id1 用于发现Oracle pdb不能关闭的sid
sql·oracle
睡觉的时候不会困9 分钟前
MySQL 高可用方案之 MHA 架构搭建与实践
数据库·mysql·架构
kyle~10 分钟前
Qt---对话框QDialog
数据库·qt·microsoft
GBASE16 分钟前
“G”术时刻:南大通用GBase 8c数据库权限管理场景实践(三)
数据库
GottdesKrieges1 小时前
OceanBase系统日志管理
数据库·oracle·oceanbase
l5657582 小时前
第五十四天(SQL注入&数据类型&参数格式&JSON&XML&编码加密&符号闭合&复盘报告)
sql
小嵌同学2 小时前
Linux:malloc背后的实现细节
大数据·linux·数据库
努力的小郑3 小时前
MySQL索引(三):字符串索引优化之前缀索引
后端·mysql·性能优化
R瑾安3 小时前
mysql安装(压缩包方式8.0及以上)
数据库·mysql