一尘不染

删除重复的记录,但SQL中的第一条记录除外

sql

我要删除除第一个记录外的所有重复记录。

喜欢 :

NAME
R
R
rajesh
YOGESH
YOGESH

现在在上面,我要删除第二个“ R”和第二个“ YOGESH”。

我只有一列名为“ NAME”。


阅读 144

收藏
2021-03-17

共1个答案

一尘不染

使用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将获取您的所有记录,并为每个唯一条目应用行号。每个其他条目将获得一个递增的数字。更换DELETESELECT *才能看到它做什么。

2021-03-17