首页 > 资讯列表 > 编程/数据库 >> 数据库操作教程

sql删除表中的重复记录

数据库操作教程 2022-09-23 18:19:38 转载来源: 网络整理/侵权必删

遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长)selectMIN(ID)asid,StructSN,Date,UserID,StarCount,COUNT(StructSN)ascfromT_Dor_StructStarwhereDate>='20160919'groupbyStructSN,Date,UserID,StarCounthavingCOUNT(StructSN)>1然后就可以直接删除,基本原理就是,找到重复记录的每一条记录,排除掉重复id最小的记录,删除剩余的重复记录。deletefromT_Dor_StructStarwhereIDin(selects.IDfromT_Dor_StructStars,(selectMIN(ID)asid,StructSN,Date,UserID,StarCount,COUNT(StructSN)ascfromT_Dor_StructStarwhereDate>='20160919'gro

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

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

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

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

delete from T_Dor_StructStarwhere ID in (select s.ID from T_Dor_StructStar s,(select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as cfrom T_Dor_StructStar where Date >= '20160919'group by StructSN ,Date,UserID,StarCounthaving COUNT(StructSN) > 1)awherea.Date = s.Dateand a.StructSN = s.StructSNand a.UserID = s.UserIDand a.StarCount = s.StarCountand a.id != s.ID)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

标签: sql 删除 中的 重复 记录


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持