mssql找出重复记录并删除

来源:爱站网时间:2022-10-29编辑:网友分享
要在mssql找出重复记录并删除并不是一件难事,爱站技术频道小编给大家带来了相关处理方法给朋友们参考,希望这篇文章能让你有所启发,并知道如何操作。

遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢

如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长)

select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c
from T_Dor_StructStar 
where Date >= '20160919'
group by StructSN ,Date,UserID,StarCount
having COUNT(StructSN) > 1

然后就可以直接删除,基本原理就是,找到重复记录的每一条记录,排除掉重复id最小的记录,删除剩余的重复记录。

delete from T_Dor_StructStar
where ID in (
select s.ID from T_Dor_StructStar s,
(
select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c
from T_Dor_StructStar 
where Date >= '20160919'
group by StructSN ,Date,UserID,StarCount
having COUNT(StructSN) > 1
)a
where
a.Date = s.Date
and a.StructSN = s.StructSN
and a.UserID = s.UserID
and a.StarCount = s.StarCount
and a.id != s.ID
)

爱站技术频道小编把上述“mssql找出重复记录并删除”文章内容分析出来了,不知道对你们的学习或者工作有没有帮助。还意犹未尽的话,来js.aizhan.com翻阅更多文章吧!

上一篇:MySQL遇到表别名所存在的问题

下一篇:MSSQL多条件查询的写法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载