SQL重复记录处理(查找,过滤,删除)

一、查找重复记录

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最大一条记录

select * from 表 where id in -- 检索重复ip的纪录
(select min(id) from 表 where 重复字段 in -- 求重复ip的其中一个id
(select 重复字段 from 表 group by 重复字段 having count(1) >= 1) -- 取出重复的ip
group by 重复字段
)

 

原文地址:https://www.cnblogs.com/yeagen/p/1509997.html