PaliSkill
SQL avancé

Leçon 4 / 9 — Chapitre 6: Regroupements avancés

ROLLUP : sous-totaux hiérarchiques

ROLLUP est un raccourci pour un cas particulier de GROUPING SETS, quand les colonnes suivent une hiérarchie logique (du plus général au plus détaillé). ROLLUP (statut) équivaut ici à GROUPING SETS ((statut), ()).

SELECT statut, COUNT(*) AS nb, SUM(montant) AS total
FROM clients
GROUP BY ROLLUP (statut);

Résultat : une ligne par valeur de statut (actif : nb=4, total=386.862 ; inactif : nb=2, total=50), puis une ligne de total général (statut à NULL, nb=6, total=436.862). Soit 3 lignes au total.

Avec plusieurs colonnes, ROLLUP (a, b) produit une hiérarchie de sous-totaux : le détail par (a, b), un sous-total par a seul, puis le total général — jamais un regroupement par b seul, contrairement à CUBE (leçon suivante).

À retenir :

  • ROLLUP (colonne) produit un regroupement détaillé par colonne, plus une ligne de total général.
  • Avec plusieurs colonnes, ROLLUP respecte un ordre hiérarchique : sous-totaux du plus détaillé au plus général, jamais l'inverse.
  • La ligne de total général affiche NULL dans la colonne de regroupement — à ne pas confondre avec une vraie valeur manquante (voir la fonction GROUPING(), deux leçons plus loin).

À vous de jouer : quelle est la valeur de total pour la ligne de total général de 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