excluir a linha mais recente em BK

votos
-1

Tenho nas políticas mesa, onde BK para eles é

VIN + ProgramCode + ValidFrom

Estrutura da tabela é

ID, ProgramCode, VIN, ValidFrom, CreationDate

O problema é que eu preciso para manter apenas a política com um único VINe o último valor de Creation_date, o resto precisa ser eliminado. Eu não tenho uma idéia do que consulta devo usar para ele usando agrupar.

Publicado 19/09/2018 em 13:35
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

usar a função janela 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

Nota: para dados grande conjunto é melhor manter unike dados na nova tabela e, em seguida, excluir a tabela antiga, em seguida, mudar o nome da nova tabela no nome antigo

Respondeu 19/09/2018 em 13:37
fonte usuário

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