PaliSkill
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 colonne restreint 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 BY se 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