一尘不染

SQL删除具有最低编号的重复行

sql

我找不到删除具有最低编号的sql表中的重复键的适当方法。如果有重复的行具有相同的编号,则需要删除其中之一。

例如

Key     Number  Description

11111   5   Desc1
11111   4   Desc2
22222   2   Desc1
22222   2   Desc2
33333   3   Desc1
33333   5   Desc2

在这里,我需要删除编号为4的第二行,编号小于5的第三行或第四行之一,而第五行的编号3小于最后一行5。


阅读 133

收藏
2021-05-23

共1个答案

一尘不染

查询以删除SQL Server中的重复项:

;with c as
(
    select *, row_number() over(partition by [Key] order by Number desc) as n
    from YouTable
)
delete from c
where n > 1
2021-05-23