PaliSkill
SQL avancé

Leçon 4 / 9 — Chapitre 8: Mise en pratique : hôtellerie

CASE : compter les réservations par statut

Comme au chapitre 4, SUM(CASE WHEN ...) compte sélectivement, sans GROUP BY, en une seule ligne de résultat.

SELECT
  SUM(CASE WHEN statut = 'confirmee' THEN 1 ELSE 0 END) AS nb_confirmees,
  SUM(CASE WHEN statut = 'annulee' THEN 1 ELSE 0 END) AS nb_annulees
FROM reservations;

Sur les 7 réservations, 6 sont confirmées et 1 est annulée (la réservation 4). nb_confirmees = 6, nb_annulees = 1.

À retenir :

  • Cette technique donne en une seule requête un résumé de répartition, sans avoir besoin d'un GROUP BY sur statut.
  • Vérifier que nb_confirmees + nb_annulees retombe sur le nombre total de réservations (ici, 6 + 1 = 7) confirme qu'aucun statut n'a été oublié.

À vous de jouer : nb_confirmees + nb_annulees correspond-il bien au nombre total de lignes de la table reservations ?

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès