我要删除除第一个记录外的所有重复记录。
喜欢 :
NAME R R rajesh YOGESH YOGESH
现在在上面,我要删除第二个“ R”和第二个“ YOGESH”。
我只有一列名为“ NAME”。
使用CTE(我在生产中有几种)。
;WITH duplicateRemoval as ( SELECT [name] ,ROW_NUMBER() OVER(PARTITION BY [name] ORDER BY [name]) ranked from #myTable ORDER BY name ) DELETE FROM duplicateRemoval WHERE ranked > 1;
说明 :CTE将获取您的所有记录,并为每个唯一条目应用行号。每个其他条目将获得一个递增的数字。更换DELETE用SELECT *才能看到它做什么。
DELETE
SELECT *