你的位置:首页 > 软件开发 > 数据库 > SqlServer删除表中重复记录

SqlServer删除表中重复记录

发布时间:2016-01-13 12:00:13
重复记录:有两个意义上的重复记录  一是完全重复的记录,也即所有字段均重复的记录;  二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。  1、对于第一种重复,比较容易解决,使用1 select distinct * from tableNa ...

  重复记录:有两个意义上的重复记录

  一是完全重复的记录,也即所有字段均重复的记录;

  二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。

1 select distinct * from tableName   就可以得到无重复记录的结果集。  如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

1 --查询无重复记录的结果集,并将结果集保存到临时表#Tmp2 select distinct * into #Tmp from tableName3 --删除表tableName4 drop table tableName5 --将临时表#Tmp数据全部插入表tableName6 select * into tableName from #Tmp7 --删除临时表8 drop table #Tmp 
  假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集

1 --将tableName中的全部记录插入临时表#Tmp,并增加行号字段2 select identity(int,1,1) as autoID, * into #Tmp from tableName3 --将临时表#Tmp中的无重复记录插入临时表#Tmp2(min(autoID)....group by Name,autoID-实现保留Name重复的记录中的第一条)4 select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID

原标题:SqlServer删除表中重复记录

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。