遇見了表中存在重復(fù)的記錄的問題,直接寫sql刪除時(shí)最快的,才不要慢慢的復(fù)制到excel表中慢慢的人工找呢
如下sql,找出重復(fù)的記錄,和重復(fù)記錄中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
然后就可以直接刪除,基本原理就是,找到重復(fù)記錄的每一條記錄,排除掉重復(fù)id最小的記錄,刪除剩余的重復(fù)記錄。
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)
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持VeVb武林網(wǎng)!
新聞熱點(diǎn)
疑難解答
圖片精選