← SQL — Fonctions de fenêtrage
Leçon 8 / 9 — Chapitre 8: Mise en pratique : ventes mensuelles
Cas pratique : étiqueter l'atteinte d'un objectif avec CASE
Comme au chapitre 6, un CASE peut transformer un cumul de fenêtre en étiquette métier lisible — ici, pour suivre l'atteinte d'un objectif de 500 $ sur le trimestre.
SELECT v.nom, vm.mois, vm.montant,
SUM(vm.montant) OVER (PARTITION BY vm.vendeur_id ORDER BY vm.mois) AS ca_cumule,
CASE
WHEN SUM(vm.montant) OVER (PARTITION BY vm.vendeur_id ORDER BY vm.mois) >= 500 THEN $q2$objectif atteint$q2$
ELSE $q2$en cours$q2$
END AS statut
FROM ventes_mensuelles vm
JOIN vendeurs v ON v.id = vm.vendeur_id;
Pour Fatou : mois 1 (cumul 100) → 'en cours' ; mois 2 (cumul 250) → 'en cours' ; mois 3 (cumul 500, exactement le seuil) → 'objectif atteint'. Pour Solene : dès le mois 2 (cumul 500), le statut passe déjà à 'objectif atteint'.
À retenir :
- Le seuil
>= 500(plutôt que> 500) inclut le cas où le cumul atteint exactement l'objectif — un choix de comparateur qui change concrètement le résultat, à vérifier systématiquement selon l'intention métier.
À vous de jouer : quel est le statut de Fatou au mois 1 (cumul 100) ?
🔒
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