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)