У меня есть табличный тест, содержащий данные следующим образом, и я хочу удалить trsid 124, и у меня есть миллионы записей в моей базе данных, это просто сценарий. Концепция является удаление дубликатов запись из таблицыНужно удалить повторяющиеся записи из таблицы using row_number()
--------------------------------------------
TrsId | ID | Name |
--------------------------------------------
123 | 1 | ABC |
124 | 1 | ABC |
Я пытаюсь что-то вроде
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
Даже если я обновлю запрос, который хорошо для меня
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
Но если я запустите оба этого запроса, он удалит все записи из теста таблицы. И если я обновляю его, обновляем обе записи. я не знаю, что я делаю неправильно здесь
Thanx Тим работает !!!!!!!! –