Rollup


BigQueryDb2 (LUW)MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite2005200720092011201320152017201920212023⊘ 3.5.7 - 3.50.0✓ 2008R2 - 2022a✓ 9.5 - 17⊘ 8.3 - 9.4✓ 11gR1 - 23.9✓ 8.3 - 9.3.0⚠ 5.0 - 8.2a⚠ 5.1 - 12.0.2a✓ 9.7 - 12.1.2a✓ 2.0
  1. 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)
                       , (    )
                       )

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.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Fußnoten

  1. ISO/IEC 9075-2:2023 §7.13 SR 13 (NOTE 265)

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2015-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO