当前位置:数据库 > > 正文

怎样用sql删除表里的重复数据(sql 删除表中的重复记录)

时间:2022-01-20 00:03:28类别:数据库

怎样用sql删除表里的重复数据

sql 删除表中的重复记录

遇见了表中存在重复的记录的问题,直接写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
    )
    
  • 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持开心学习网!

    上一篇下一篇

    猜您喜欢

    热门推荐