PaliSkill
SQL avancé

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

ROLLUP : revenu par type de chambre

Comme au chapitre 6, ROLLUP ajoute une ligne de total général à un regroupement classique — ici, par type de chambre.

SELECT c.type, SUM(r.nb_nuits * c.prix_nuit) AS revenu
FROM reservations r
JOIN chambres c ON r.chambre_id = c.id
WHERE r.statut = 'confirmee'
GROUP BY ROLLUP (c.type)
ORDER BY c.type;

Revenu par type : simple (réservations 1, 6) = 150 + 100 = 250 ; double (réservations 2, 5, 7) = 160 + 320 + 240 = 720 ; suite (réservation 3) = 750. La ligne de total général ajoute : 250 + 720 + 750 = 1720. Soit 4 lignes au total.

À retenir :

  • ROLLUP sur une seule colonne de regroupement ajoute une seule ligne de total général, comme vu au chapitre 6.
  • Un type de chambre avec un revenu individuel élevé (suite, 750) ne domine pas nécessairement le total si un autre type compte plus de réservations (double, 3 réservations).

À vous de jouer : quelle est la valeur de revenu pour le type 'double' dans ce résultat ?

🔒

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