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 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.