sql 删除表中的重复记录
遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢
如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长)
selectMIN(ID)asid,StructSN,Date,UserID,StarCount,COUNT(StructSN)asc fromT_Dor_StructStar whereDate>='20160919' groupbyStructSN,Date,UserID,StarCount havingCOUNT(StructSN)>1
然后就可以直接删除,基本原理就是,找到重复记录的每一条记录,排除掉重复id最小的记录,删除剩余的重复记录。
deletefromT_Dor_StructStar whereIDin( selects.IDfromT_Dor_StructStars, ( selectMIN(ID)asid,StructSN,Date,UserID,StarCount,COUNT(StructSN)asc fromT_Dor_StructStar whereDate>='20160919' groupbyStructSN,Date,UserID,StarCount havingCOUNT(StructSN)>1 )a where a.Date=s.Date anda.StructSN=s.StructSN anda.UserID=s.UserID anda.StarCount=s.StarCount anda.id!=s.ID )
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!