0

PKがuniqueidentifierである重複レコードを削除する方法を知りたいです。一連のフィールドの重複値に基づいてレコードを削除する必要があります。オプションを使用してRow_Number()を使用して誘惑可能にすることができ、行番号1を除いて、残りまたはレコードを削除できます。しかし、私は1つのライナークエリを作成したかったのです。なにか提案を?

4

2 に答える 2

6

ここにあるテーブル構造が基本的なSQLであることを確認せずに、CTEを使用してこれを行うことができます。

;with cte as
(
    select *, row_number() over(partition by yourfields order by yourfields) rn
    from yourTable
)
delete
from cte
where rn > 1
于 2012-09-07T17:42:39.733 に答える
0
delete from table t using table ta where ta.dup_field=t.dup_field and t.pk >ta.pk
;
于 2012-09-07T20:25:43.750 に答える