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)
, ( )
)
20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.
Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how
ISO/IEC 9075-2:2023 §7.13 SR 13 (NOTE 265)