Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2009-06-24 10:34  billpeng  阅读(648)  评论(0编辑  收藏  举报
一、查找重复记录

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 重复字段
)