Leçon 4 / 9 — Chapitre 1: Classer avec ROW_NUMBER, RANK, DENSE_RANK
PARTITION BY : appliquer par groupe
PARTITION BY colonne, ajouté dans OVER(...), fait recommencer le calcul à zéro pour chaque valeur distincte de cette colonne — comme un GROUP BY qui ne fusionnerait pas les lignes.
SELECT nom, equipe, anciennete,
ROW_NUMBER() OVER (PARTITION BY equipe ORDER BY anciennete DESC, id ASC) AS rang_equipe
FROM employes;
Ici, la numérotation repart à 1 pour chaque équipe : Amara (ventes) reçoit le rang 1 dans son équipe, indépendamment du classement global vu en leçon 2.
À retenir :
PARTITION BY colonnerestreint le calcul d'une fonction de fenêtrage à chaque groupe distinct de cette colonne.- La numérotation (ou le rang) repart à 1 pour chaque partition — contrairement à un classement global sans PARTITION BY.
PARTITION BYse combine avec n'importe quelle fonction de fenêtrage (ROW_NUMBER, RANK, SUM, COUNT...).
À vous de jouer : comparez le rang global de Chloé (leçon 2) et son rang au sein de son équipe (cette leçon).
Continuez ce module
Débloquez les leçons restantes ainsi que l'attestation finale.
8 000 XOF / 12,20 € / 13,29 $
Débloquez les 78 leçons restantes de ce module
Pour vous communiquer où envoyer le paiement.
Moyen de paiement souhaité
Nous vous contactons pour le paiement — activé dès réception.