删除表中多余的重复记录(多个字段),只留有rowid最小的记录

假如表Users,其中ID为自增长.

ID,Name,Sex

1 张三,男

2 张三,男

3 李四,女

4 李四,女

5 王五,男

--查找出最小行号ID的重复记录

select Name,Sex,Count(1),Mix(ID)

into #TempTable

from Users

group by Name,Sex

having Count(1)>1

--删除重复记录,只保留最小行号的

Delete from Users

from Users as A

inner join #TempTable as B  ON A.Name=B.Name  And A.Sex=B.Sex

where A. ID<>B.ID

--注意上面表中ID为自增长,如果User表中没有ID自增长,可以虚拟一个ID自增长列。

select IDENTITY(INT) as ID,Name,Sex from Users

上一篇:Cisco端口限速配置


下一篇:spray-json