Как удалить дубликаты из таблицы и сохранить только один с наибольшим идентификатором на сервере SQL? - PullRequest
0 голосов
/ 08 июня 2011

У меня есть таблица с уникальным идентификатором, а затем некоторые поля.Я хотел бы удалить все строки dupliacte и оставить только одну, самую большую с идентификатором.

Например, предположим, что у вас есть таблица с 3 полями: RECORD_ID, FIELD_ONE, FIELD_TWO

- это запрос, который позволяет мне удалить все записи, имеющие одинаковое значение для FIELD_ONE и FIELD_TWO, кроме той, которая имеет наибольшее значение RECORD_ID?

1 Ответ

0 голосов
/ 08 июня 2011

Найдено:

with cte
as
(
    select *, row_number() over(partition by FIELD_ONE, FIELD_TWO order by RECORD_ID desc) RowNumber
    from TestTable
)
delete cte
where RowNumber > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...