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 l'attestation finale.

8 500 XOF / 12,96 € / 14,12 $

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

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.