PaliSkill
SQL — Fonctions de fenêtrage

Leçon 3 / 9 — Chapitre 2: Isoler le top N par groupe

CUME_DIST() : la proportion de valeurs à ce niveau ou au-delà

CUME_DIST() renvoie, pour chaque ligne, la proportion de lignes de la partition qui la précèdent ou qui lui sont égales (« peer »), selon l'ordre indiqué — une mesure de distribution cumulative.

SELECT nom, anciennete,
  CUME_DIST() OVER (ORDER BY anciennete DESC) AS proportion
FROM employes;

Pour Amara (5 ans) : les lignes avec une ancienneté ≥ 5 sont David, Farid et Amara elle-même — 3 lignes sur 6, soit proportion = 3/6 = 0.5. Pour Elise (2 ans, la moins ancienne) : toutes les lignes ont une ancienneté ≥ 2, soit 6/6 = 1.

À retenir :

  • CUME_DIST() renvoie une proportion (entre une fraction et 1) représentant la place d'une ligne dans la distribution cumulative.
  • Les lignes ex-aequo partagent toujours la même valeur de CUME_DIST, puisqu'elles comptent ensemble dans le calcul.
  • La dernière place (au sens large, en cas d'ex-aequo) reçoit toujours exactement 1.

À vous de jouer : combien de lignes ont une ancienneté ≥ 7 (la valeur de David) ? Cette valeur est le numérateur utilisé pour calculer son CUME_DIST.

🔒

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