Sql Server 删除重复记录,只保留一条

时间:2022-09-22 23:04:23
delete users where ids not in (select min(ids) from users group by userid,username having(count(*)>1 or count(*) =1))


解释:首先查询出来count(*)>1的数据,也就是重复数据,跟单条数据的IDS,删除的时候就不包含他们了,所以是not in,    因为保留一条重复数据,所以我取得了重复数据的min (ids),用max也是可以的,然后删除的时候就不包含重复数据的最小或最大的那一条数据,从而实现了保留一条数据,并且不重复的数据也不删除


Sql Server 删除重复记录,只保留一条