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 に答える