GROUPING

Returns a bit mask indicating which GROUP BY expressions are not included in the current grouping set. Bits are assigned with the rightmost argument corresponding to the least-significant bit; each bit is 0 if the corresponding expression is included in the grouping criteria of the grouping set generating the current result row, and 1 if it is not included.

SQL Syntax

GROUPING ( expr [, expr, ...] )

Arguments

Grouping sets items.

Return Type

UInt32.

SQL Examples

select a, b, grouping(a), grouping(b), grouping(a,b), grouping(b,a) from t group by grouping sets ((a,b),(a),(b), ()) ;
┌──────┬──────┬─────────────┬─────────────┬────────────────┬────────────────┐
 a     b     grouping(a)  grouping(b)  grouping(a, b)  grouping(b, a) 
├──────┼──────┼─────────────┼─────────────┼────────────────┼────────────────┤
 NULL  A               1            0               2               1 
 a     NULL            0            1               1               2 
 b     A               0            0               0               0 
 NULL  NULL            1            1               3               3 
 a     A               0            0               0               0 
 b     B               0            0               0               0 
 b     NULL            0            1               1               2 
 a     B               0            0               0               0 
 NULL  B               1            0               2               1 
└──────┴──────┴─────────────┴─────────────┴────────────────┴────────────────┘