← SQL — Fonctions de fenêtrage
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 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