0

我在表中有这样的记录

ID   Name   Value
1    abc    123
2    abc    152
3    cde    574
4    def    153
5    abc    777

如何基于此算法从上列中删除行,

我们有 3 行相同的名称(ID:1,2,5)。删除所有这些行,除了随机选择的任何一行。同样适用于其他名称

可以使用 sql 或 T-SQL 吗?

4

1 回答 1

1
;with d as (
    select *, rowNum = row_number() over (partition by Name order by checksum(newid()))
    from TableName
)
delete d
where rowNum > 1
于 2013-08-02T22:57:08.503 回答