Função grouping_id
Aplica-se a: SQL do Databricks Runtime do Databricks
Retorna o nível de agrupamento de um conjunto de colunas.
Sintaxe
grouping_id( [col1 [, ...] ] )
Argumentos
colN
: uma referência de coluna identificada em umGROUPING SET
,ROLLUP
ouCUBE
.
Retornos
Um BIGINT.
A função combina a Função grouping de várias colunas em uma, atribuindo a cada coluna um bit em um vetor de bits.
O col1
é representado pelo bit de ordem mais alto.
Um bit é definido como 1 se a linha calcular um subtotal para a coluna correspondente.
Não especificar nenhum argumento é equivalente a especificar todas as colunas listadas no GROUPING SET
, CUBE
ou ROLLUP
.
Exemplos
> SELECT name, age, grouping_id(name, age),
conv(cast(grouping_id(name, age) AS STRING), 10, 2),
avg(height)
FROM VALUES (2, 'Alice', 165), (5, 'Bob', 180) people(age, name, height)
GROUP BY cube(name, age)
Alice 2 0 0 165.0
Alice NULL 1 1 165.0
NULL 2 2 10 165.0
NULL NULL 3 11 172.5
Bob NULL 1 1 180.0
Bob 5 0 0 180.0
NULL 5 2 10 180.0