首页 帮助中心 香港服务器租用 sql查询重复记录、删除重复记录具体方法
sql查询重复记录、删除重复记录具体方法
时间 : 2023-03-15 09:27:57 编辑 : 华纳云 阅读量 : 124

本篇文章重点为大家讲解一下sql查询重复记录、删除重复记录具体方法,有需要的小伙伴可以参考一下。

查找所有重复标题的记录:

SELECT *

FROM t_info a

WHERE ((SELECT COUNT(*)

FROM t_info

WHERE Title = a.Title) > 1)

ORDER BY Title DESC

一、查找重复记录

1.查找全部重复记录

Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

2.过滤重复记录(只显示一条)

Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

注:此处显示ID最大一条记录

二、删除重复记录

1.删除全部重复记录(慎用)

Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)

2.保留一条记录

Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

注:此处保留ID最大一条记录

删除多余的重复记录

1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people

where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people

where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)

3.查找表中多余的重复记录(多个字段)

select * from vitae a

where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4.删除表中多余的重复记录(多个字段),只留有rowid最小的记录

delete from vitae a

where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5.查找表中多余的重复记录(多个字段),不包含rowid最小的记录

select * from vitae a

where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

华纳云 推荐文章
CentOS 7 系列修改默认网卡名为 eth0 的两种方法 Linux bg命令:把后台暂停的工作恢复到后台执行 Ubuntu下安装Syncthing,搭建属于自己的私有网盘 Win2003 Server:如何打造一个安全的个人Web服务器? Linux中查看文件权限的具体方法 Windows Server 2012配置WSUS角色 Windows10使用Linux Bash命令的方法 在Ubuntu 和 CentOS上如何启用Nginx的 HTTP/2 协议支持 WordPress网站迁移到新主机的方法步骤 解决CentOS 7 history命令不显示操作记录的时间和用户身份问题
客服咨询
7*24小时技术支持
技术支持
渠道支持