mssql重复记录删除的7种方法

来源:爱站网时间:2022-11-16编辑:网友分享
想要在mssql数据库删除重复记录,我们可以用下列七种方法来处理,朋友们可以选择最适合的方式来操作,能让你事半功倍。下面的时间就交给爱站技术频道小编,看看文章带来的资料能不能满足你。

话不多说,请看代码:

if not object_id('Tempdb..#T') is null
 drop table #T
Go
Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2))
Insert #T
select 1,N'A',N'A1' union all
select 2,N'A',N'A2' union all
select 3,N'A',N'A3' union all
select 4,N'B',N'B1' union all
select 5,N'B',N'B2'
Go 

--I、Name相同ID最小的记录(推荐用1,2,3),保留最小一条

方法1:

delete a from #T a where  exists(select 1 from #T where Name=a.Name and ID

方法2:

delete a from #T a left join (select min(ID)ID,Name from #T group by Name) b on a.Name=b.Name and a.ID=b.ID where b.Id is null

方法3:

delete a from #T a where ID not in (select min(ID) from #T where Name=a.Name)

方法4(注:ID为唯一时可用):

delete a from #T a where ID not in(select min(ID)from #T group by Name)

方法5:

delete a from #T a where (select count(1) from #T where Name=a.Name and ID0

方法6:

delete a from #T a where ID(select top 1 ID from #T where Name=a.name order by ID)

方法7:

delete a from #T a where ID>any(select ID from #T where Name=a.Name)
select * from #T

爱站技术频道小编带来的上述文章内容有没有让你获取不一样的知识点,我们网站提供了海量技术文章给大家查阅,这对想学习的朋友提供了一个很好的环境。

上一篇:MSSQL查询方法有哪些

下一篇:mssql之Exists的使用方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载