eliminar la fila lastest en BK

votos
-1

Tengo en las políticas de mesa, donde BK para ellos es

VIN + ProgramCode + ValidFrom

Estructura de la tabla es

ID, ProgramCode, VIN, ValidFrom, CreationDate

El problema es que necesito para mantener sólo la política con un único VINy el último valor de Creation_date, el resto tiene que ser eliminado. No tengo una idea de lo consulta debería utilizar para ello el uso de GROUP BY.

Publicado el 19/09/2018 a las 13:35
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

utilizar la función de ventana 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 grandes conjuntos de datos que es mejor mantener unike datos en la nueva tabla a continuación, elimine la mesa de edad y luego cambiar el nombre de la nueva tabla en nombre antiguo

Respondida el 19/09/2018 a las 13:37
fuente por usuario

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