Leçon 2 / 9 — Chapitre 2: Isoler le top N par groupe
PERCENT_RANK() : la position relative dans le classement
PERCENT_RANK() exprime le rang d'une ligne comme une proportion entre 0 et 1 : 0 pour la première place, 1 pour la dernière, peu importe le nombre total de lignes. La formule est (rang - 1) / (N - 1), où rang provient de RANK() (les ex-aequo partagent la même valeur) et N est le nombre total de lignes.
SELECT nom, anciennete,
PERCENT_RANK() OVER (ORDER BY anciennete DESC) AS position_relative
FROM employes;
Sur les 6 employés (N = 6) : David et Farid, ex-aequo au rang 1, reçoivent (1-1)/5 = 0. Amara, rang 3 (le rang 2 est sauté à cause de l'ex-aequo), reçoit (3-1)/5 = 0.4. Baptiste et Chloé, ex-aequo au rang 4, reçoivent (4-1)/5 = 0.6. Elise, dernière au rang 6, reçoit (6-1)/5 = 1.
À retenir :
PERCENT_RANK()renvoie toujours une valeur entre 0 (première place) et 1 (dernière place), quel que soit le nombre de lignes.- Les lignes ex-aequo (même rang RANK) partagent la même valeur de PERCENT_RANK.
- Cette mesure permet de comparer des classements de tailles différentes sur une échelle commune (0 à 1), ce qu'un simple rang ne permet pas.
À vous de jouer : quelle est la valeur de position_relative pour Amara ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 72 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès