← 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 :
ROLLUPsur 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