次のようなデータを持つテーブルテストがあり、trsid 124を削除したいのですが、DBに何百万ものエントリがあります。コンセプトは、テーブルからrow_number()を使用してテーブルから重複レコードを削除する必要があります
--------------------------------------------
TrsId | ID | Name |
--------------------------------------------
123 | 1 | ABC |
124 | 1 | ABC |
を重複したエントリを削除することです、私は私のため
update test set id=NULL
select T.* from
(
select ROW_NUMBER() over (partition by ID order by name) as r,
Trsid,
ID,
name
from test
) t
where r = 2
しかし、私ならばOKですクエリを更新した場合でも、私は
delete from test
select T.* from
(
select ROW_NUMBER() over (partition by ID order by name) as r,
Trsid,
ID,
name
from test
) t
where r = 2
ような何かをしようとしていますこの両方のクエリを実行すると、テーブルテストのすべてのレコードが削除されます。そして私がそれを更新すれば両方のレコードを更新します。 私がここで間違っていることを知りません
ありがとうティムそれは!!!!!!!!作品 –