我找不到适当的方法来删除 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 小。
最佳答案
在 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
关于SQL 删除编号最小的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15742536/