PaliSkill
SQL — Fonctions de fenêtrage

Leçon 6 / 9 — Chapitre 8: Mise en pratique : ventes mensuelles

RANK par région

PARTITION BY region classe chaque vendeur uniquement parmi les autres vendeurs de sa propre région.

WITH totaux AS (
  SELECT vm.vendeur_id, v.region, SUM(vm.montant) AS total_trimestre
  FROM ventes_mensuelles vm
  JOIN vendeurs v ON v.id = vm.vendeur_id
  GROUP BY vm.vendeur_id, v.region
)
SELECT vendeur_id, region, total_trimestre,
  RANK() OVER (PARTITION BY region ORDER BY total_trimestre DESC) AS rang_region
FROM totaux;

Région est : Karim (600) devance Fatou (500) — rang_region 1 et 2. Région ouest : Tarek (1200) devance Solene (1000) — rang_region 1 et 2.

À retenir :

  • Ce classement par région ne dépend que des vendeurs de la même région : Karim (600) est 1er de sa région est, alors qu'il ne serait que 3e au classement général (leçon 4 de ce chapitre) — la portée du PARTITION BY change le résultat, comme vu au chapitre 7.

À vous de jouer : quel rang_region obtient Solene (total 1000, région ouest, derrière Tarek à 1200) ?

🔒

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