- Unterstützt die nicht-standard Syntax
GROUP BY … WITH ROLLUP
Group By Rollup (…) mit N Spaltenlisten erzeugt N+1 Grouping Sets-Spezifikationen, indem sie für jede Grouping Sets-Spezifikation rechts beginnend eine Spaltenliste aus der Rollup-Klausel weglässt.0 Die leere Liste () ist das letzte Element – daher auch N+1 Grouping Sets.
Die folgenden Group By-Klauseln sind daher gleichwertig:
GROUP BY ROLLUP ( a, b, c )GROUP BY GROUPING SETS ( (a, b, c)
, (a, b )
, (a )
, ( )
)Beachte, dass es um Spaltenlisten geht. Analog zur Grouping Sets-Spezifikation erwartet Rollup (und Cube) eine Liste von Spaltenlisten. Die folgende Rollup-Spezifikation hat daher nur ein Argument – eine geklammerte Spaltenliste, die zwei Spalten beinhaltet.
GROUP BY ROLLUP ( (a, b) )Die gleichwertige Grouping Sets-Spezifikation hat daher zwei Element (N+1): die Spaltenliste aus der Rollup-Spezifikation und die leere Liste.
GROUP BY GROUPING SETS ( (a, b)
, ( )
)
