GROUPING SETS

The CUBE and ROLLUP operators allow you to run a single query and generate multiple sets of groupings. However, the sets of groupings are fixed. For example, if you use GROUP BY ROLLUP (A, B, C), you get aggregates generated for the following groupings of nonaggregate columns:

GROUP BY A, B, C

GROUP BY A, B

GROUP BY A

• A super-aggregate for all rows

If you use GROUP BY CUBE (A, B, C), you get aggregates generated for the following groupings of nonaggregate columns:

GROUP BY A, B, C

GROUP BY A, B

GROUP BY A, C

GROUP BY B, C

GROUP BY A

GROUP BY B

GROUP BY C

• A super-aggregate for all rows

SQL Server 2008 introduces the GROUPING SETS operator in addition to the CUBE and ROLLUP operators for performing several ...

Get Microsoft® SQL Server 2008 R2 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.