удалить самую последнюю строку в БК

голоса
-1

Я имею в политике таблицы, где BK для них

VIN + ProgramCode + ValidFrom

Структура таблицы

ID, ProgramCode, VIN, ValidFrom, CreationDate

Проблема заключается в том, что мне нужно держать только политику с уникальным VINи последним значением Creation_date, остальные должны быть удалены. Я не имею представления о том , что запрос должен я использовать его с помощью группы по.

Задан 19/09/2018 в 13:35
источник пользователем
На других языках...                            


1 ответов

голоса
0

использовать функцию окна row_number

delete from
    (
    select * ,row_number() over(partition by ProgramCode, VIN, ValidFrom order by Creation_date desc) as rn
    ) as t where t.rn!=1

Примечание: для большого набора данных, лучше держать unike данных в новой таблице, а затем удалить старую таблицу переименовать новую таблицу в старом названии

Ответил 19/09/2018 в 13:37
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more