supprimer la ligne de BK lastest

voix
-1

J'ai dans les politiques de table, où BK pour eux est

VIN + ProgramCode + ValidFrom

Structure de la table est

ID, ProgramCode, VIN, ValidFrom, CreationDate

Le problème est que je dois garder que la politique avec un cadre unique VINet la dernière valeur Creation_date, le reste doit être supprimé. Je n'ai pas idée de ce que je demande pour utiliser à l'aide d'un groupe par.

Créé 19/09/2018 à 13:35
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

utiliser la fonction de fenêtre 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

Remarque: pour grand ensemble de données, il est préférable de garder unike données dans une nouvelle table et puis supprimez ancienne table puis renommer la nouvelle table dans l'ancien nom

Créé 19/09/2018 à 13:37
source utilisateur

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