1

一意の行のみが残るように、重複する値を行ごとに削除する必要があります。

テーブルに次の値があるとします。

no   code       name
1    001        ronald
1    001        NULL
2    002        peter
2    002        peter
3    003        john
3    003        john
4    004        NULL
4    004        chris

予想される出力が次のようになるように、重複レコードを削除する必要があります。

no   code       name
1    001        ronald
2    002        peter
3    003        john
4    004        chris

個別を使用して結果を一時テーブルに挿入しようとしましたが、うまくいきませんでした。

誰にもこれに対する解決策はありますか?

4

2 に答える 2

1
delete T
from (
     select row_number() over(partition by no order by name desc) as rn
     from YourTable
     ) as T
where rn > 1

SE-データ

于 2012-08-03T06:15:36.800 に答える