Exploration multi-niveaux avec GROUP BY ROLLUP

SyntaxeGROUP BY ROLLUP

1
SELECT ...
2
GROUP BY ROLLUP (a, b, c, ...)

GROUP BY ROLLUP (a, b, c, ...) permet de créer tous les sous totaux selon les attributs ordonnés de groupement (ici a, b et c) en allant du plus général (a) au plus détaillé (c).

Méthode

Cette clause est typiquement utilisée pour parcourir une hiérarchie.

Exemple

1
SELECT d.tri, d.mon, count(*)
2
FROM ventes v, date d
3
WHERE v.dat=d.dat
4
GROUP BY ROLLUP (d.tri, d.mon);
Résultat d'exécution GROUP BY ROLLUP (d.tri, d.mon)

AttentionOrdre

L'ordre (a, b, c) est important et doit être du plus gros grain au plus fin.