General functions

Commonly used functions for data processing.

GROUPING SETS ( GROUP BY GROUPING SETS (<groupsets>) )

GROUP BY GROUPING SETS is an advanced extension of the GROUP BY clause that allows multiple groupings within a single statement. Each grouping set is a set of dimension columns.

> select count(cc_company) as total_count, cc_county, cc_class
from call_center
where cc_county in ('Williamson County', 'Bronx County', 'Huron County')
group by grouping sets (cc_county, cc_class);

# | total_count  | cc_county         | cc_class

1 |     2        | Williamson County |	null
2 |     3        | Bronx County      |	null 
3 |     1        | Huron County      |	null 
4 |     2        | null              |	large
5 |     4        | null  	     |	medium                 

ROLLUP ( GROUP BY ROLLUP <groupRollup> )

GROUP BY ROLLUP is an extension of the GROUP BY clause that produces sub-total rows (in addition to the grouped rows). Sub-total rows are rows that further aggregate whose values are derived by computing the same aggregate functions that were used to produce the grouped rows.

> select count(cc_company) as total_count, cc_county, cc_class
from call_center
where cc_county in ('Williamson County', 'Bronx County', 'Huron County')
group by rollup (cc_county, cc_class);

# | total_count  | cc_county         | cc_class

1 |     2        | Williamson County |	null
2 |     3        | Bronx County      |	null 
3 |     1        | Huron County      |	null 
4 |     2        | Williamson County |	large
5 |     3        | Bronx County      |  medium 
6 |     1        | Huron County      |	medium 
7 |     6        | null  	     |	null 

CUBE (GROUP BY CUBE <groupCube>)

GROUP BY CUBE is an extension of the GROUP BY clause similar to GROUP BY ROLLUP. In addition to producing all the rows of a GROUP BY ROLLUP, GROUP BY CUBE adds all the “cross-tabulations” rows. Sub-total rows are rows that further aggregate whose values are derived by computing the same aggregate functions that were used to produce the grouped rows.

EXCEPT ( <column> )

SELECT * EXCEPT columns that should be excluded from the results

EXCEPT SET OPERATOR

Eliminates rows from the result set of one query that are present in the result set of another query, while also removing duplicates.

Last updated