天天看點

Sql删除表中多餘的重複記錄

删除表中多餘的重複記錄,重複記錄是根據單個字段(peopleId)來判斷,隻留有rowid最小的記錄

delete from people 

where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1) 

and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1) 

如果 peopleId 是uniqueidentifier類型 則将

select min(peopleId) from people group by peopleName     having count(peopleName)>1

改為

select min(convert(varchar(36),peopleId)) from people group by peopleName     having count(peopleName)>1

轉載于:https://www.cnblogs.com/xuhongcai/p/7760854.html