网络编程
位置:首页>> 网络编程>> 数据库>> SQL重复记录处理(查找,过滤,删除)

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

作者:我本有心  发布时间:2008-11-17 20:47:00 

标签:sql,删除,表

注:此处“重复”非完全重复,意为某字段数据重复

  HZT表结构

ID int
Title nvarchar(50)
AddDate datetime

  数据



  一. 查找重复记录

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com