Exploration multi-niveaux avec GROUP BY ROLLUP

SyntaxeGROUP BY ROLLUP

CTRL+C pour copier, CTRL+V pour coller
1
SELECT ...
2
GROUP BY ROLLUP (a, b, c, ...)
SELECT ...
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

CTRL+C pour copier, CTRL+V pour coller
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);
SELECT d.tri, d.mon, count(*)
FROM ventes v, date d
WHERE v.dat=d.dat
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.