我想知道我们可以删除PK是uniqueidentifier的重复记录的方式。 我必须根据一组字段中的重复值删除记录。我们可以使用选项来使用Row_Number()获取temptable,除了第一行,我们可以删除rest或记录。 但我想建立一个班轮查询。有什么建议吗?
答案 0 :(得分:6)
您可以使用CTE执行此操作,而不会在此处看到您的表结构是基本SQL
;with cte as
(
select *, row_number() over(partition by yourfields order by yourfields) rn
from yourTable
)
delete
from cte
where rn > 1
答案 1 :(得分:0)
delete from table t using table ta where ta.dup_field=t.dup_field and t.pk >ta.pk
;