Pular para o conteúdo

Devolve uma máscara de bits que indica quais as expressões GROUP BY que não estão incluídas no conjunto de agrupamento atual. Os bits são atribuídos de modo que o argumento mais à direita corresponda ao bit menos significativo; cada bit é 0 se a expressão correspondente estiver incluída nos critérios de agrupamento do conjunto de agrupamento que gera a linha de resultado atual, e 1 se não estiver incluída.

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

Itens dos conjuntos de agrupamento.

UInt32.

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 │
└──────┴──────┴─────────────┴─────────────┴────────────────┴────────────────┘