数据库 
首页 > 数据库 > 浏览文章

sql 删除表中的重复记录

(编辑:jimmy 日期: 2024/9/24 浏览:3 次 )

遇见了表中存在重复的记录的问题,直接写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
)

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

上一篇:SQL SERVER 表与表之间 字段一对多sql语句写法
下一篇:Android实现矩形区域截屏的方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap