六种SQL Server删除重复行的方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

六种SQL Server删除重复行的方法

SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考。

1.如果有ID字段,就是具有唯一性的字段

1.delect table where id not in (

2.

3.select max(id) from table group by col1,col2,col3...

4.)

group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

2. 如果是判断所有字段也可以这样

1.select * into #aa from table group by id1,id2,....

2.delete table

3.insert into table

4.select * from #aa

3. 没有ID的情况

1.select identity(int,1,1) as id,* into #temp from tabel

2.delect # where id not in (

3.select max(id) from # group by col1,col2,col3...)

4.delect table

5.inset into table(...)

6.select ..... from #temp

4. col1+','+col2+','...col5 联合主键

1.select * from table where col1+','+col2+','...col5 in (

2.select max(col1+','+col2+','...col5) from table

3.where having count(*)>1

4.group by col1,col2,col3,col4

5.)

group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

5.

1.select identity(int,1,1) as id,* into #temp from tabel

2.select * from #temp where id in (

3.select max(id) from #emp where having count(*)>1 group b

y col1,col2,col3...)

6.

1.select distinct * into #temp from tablename

2.delete tablename

3.go

4.insert tablename select * from #temp Sqlclub

5.go

6.drop table #temp

以上就是SQL Server删除重复行的方法介绍。

相关文档
最新文档