0
votes

Affectation de rang à une date

J'ai les 2 colonnes suivantes dans mes données et je souhaite attribuer un rang à la date:

Entrez la description de l'image ici

La colonne de rang basique des rangs attribue un numéro de la date la plus récente à la date la plus ancienne. Il peut y avoir des dates en double pour que je dois examiner la date la plus récente de la colonne "INSERT".

Si vous ne comprenez pas ma question ou si vous avez besoin de clarification, donnez-moi une chance d'améliorer ma question avant de le signaler. Je suis nouveau à SQL et j'aime vraiment ce site web.


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser rang_number () : xxx


2 commentaires

Non cela ne fonctionne pas. J'ai 8 rangées dans mes données et maintenant sa transformation en 53 rangées.


@sam. . . Row_Number () n'augmente pas le nombre de lignes dans le jeu de résultats. Période.



0
votes

Vous pouvez essayer d'utiliser la fonction de fenêtre code>. Tels que dense_rank code>: first_column - colonne avec valeurs (CUST_A, CUST_B)

select *, dense_rank() over (partition by first_column order by ValidTo desc, ValidFrom desc,InsertDateTime desc) as rank


1 commentaires

Non, cela n'a toujours pas fonctionné pour moi. Il a réduit mes lignes de 53 à 8. Mais 2020-03-01 ne figure toujours pas au rang 1



0
votes

DENSY_RANK () Over (Partition de la commande clientIide par AnalyticsValuevalidfrom Desc, insertDateTime Desc) comme rang

stupide moi. J'ai combiné et # 1 + ans # 2. Cela a fonctionné.


0 commentaires