SQL Server中怎样删除重复行,有什么方法?
这篇文章我们来了解SQL Server中怎样删除重复行。数据库中的重复行是很常见的,那么我们要删除这些重复行都有什么方法呢?下面给大家分享一些方法,文中有详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
1.如果有ID字段,就是具有唯一性的字段
代码如下:
delect table where id not in (
select max(id) from table group by col1,col2,col3...
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。
2. 如果是判断所有字段也可以这样代码如下:
select * into #aa from table group by id1,id2,....
delete table
insert into table
select * from #aa
代码如下:
select identity(int,1,1) as id,* into #temp from tabel
delect # where id not in (
select max(id) from # group by col1,col2,col3...)
delect table
inset into table(...)
select ..... from #temp
代码如下:
select * from table where col1+','+col2+','...col5 in (
select max(col1+','+col2+','...col5) from table
where having count(*)>
1
group by col1,col2,col3,col4
)
group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。
5.
代码如下:
select identity(int,1,1) as id,* into #temp from tabel
select * from #temp where id in (
select max(id) from #emp where having count(*)>
1 group by col1,col2,col3...)
6.
代码如下:
select distinct * into #temp from tablename
delete tablename
go
insert tablename select * from #temp Sqlclub
go
drop table #temp
文本转载自网络
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SQL Server中怎样删除重复行,有什么方法?
本文地址: https://pptw.com/jishu/651790.html