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,
ROLLUPrespecte 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
NULLdans la colonne de regroupement — à ne pas confondre avec une vraie valeur manquante (voir la fonctionGROUPING(), 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