1. 程式人生 > >Sql Server 刪除重複記錄,只保留一條

Sql Server 刪除重複記錄,只保留一條

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也是可以的,然後刪除的時候就不包含重複資料的最小或最大的那一條資料,從而實現了保留一條資料,並且不重複的資料也不刪除