PaliSkill
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