[ DE ]

Rollup


BigQueryDb2 (LUW)DuckDBH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20052007200920112013201520172019202120232025⊘ 3.5.7 - 3.51.0✓ 2008R2 - 2025a✓ 9.5 - 18⊘ 8.3 - 9.4✓ 11gR1 - 23.26.0✓ 8.3 - 9.5.0⚠ 5.0 - 8.2a⚠ 5.1 - 12.1.2a⊘ 1.4.192 - 2.4.240✓ 1.0.0 - 1.4.0✓ 9.7 - 12.1.3a✓ 2.0
  1. Supports proprietary GROUP BY ... WITH ROLLUP syntax

Group by rollup (...) with N column lists creates N+1 grouping sets by "dropping columns from the right, one by one".0 The empty list () is the last element (thus N+1 grouping sets).

In other words, the following two group by clauses are equivalent:

GROUP BY ROLLUP( a, b, c )
GROUP BY GROUPING SETS ( (a, b, c)
 , (a, b )
 , (a )
 , ( )
 )

Note that I wrote "column lists". Similar to the grouping sets specification, rollup (and cube) accept a list of column lists. The following rollup specification has only one argument—a single column list consisting of two columns kept together by a pair of parenthesis.

GROUP BY ROLLUP ( (a, b) )

The equivalent grouping sets specification has two elements (N+1): the column list from the rollup specification and the empty grouping set.

GROUP BY GROUPING SETS ( (a, b)
 , ( )
 )

You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail , Bluesky or RSS to gradually catch up and to keep modern-⁠sql.com on your radar.

About the Author

[画像:Photo of Markus Winand]

Markus Winand provides insights into SQL and shows how different systems support it at modern-sql.com. Previously he made use-the-index-luke.com, which is still actively maintained. Markus can be hired as trainer, speaker and consultant via winand.at.

Buy the Book

Cover of "SQL Performance Explained": Squirrel running on grass

The essence of SQL tuning in 200 pages

Buy now!
(paperback and/or PDF)

Paperback also available at Amazon.com.

Hire Markus

Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »

Footnotes

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

Connect with Markus Winand

Subscribe mailinglists Subscribe the RSS feed Markus Winand on LinkedIn Markus Winand on XING Markus Winand on Twitter Markus Winand on Bluesky
Copyright 2015-2026 Markus Winand. All righs reserved.
Legal | Contact | NO WARRANTY | Trademarks | Privacy and GDPR

AltStyle によって変換されたページ (->オリジナル) /