Fonction grouping_id
S’applique à : Databricks SQL Databricks Runtime
Retourne le niveau de regroupement d’un ensemble de colonnes.
Syntaxe
grouping_id( [col1 [, ...] ] )
Arguments
colN
: référence de colonne identifiée dans unGROUPING SET
, unROLLUP
ou unCUBE
.
Retours
Une valeur BIGINT.
La fonction combine la fonction grouping sur plusieurs colonnes en une seule en attribuant à chaque colonne un bit dans un vecteur de bits.
col1
est représenté par le bit d’ordre le plus élevé.
Un bit a la valeur 1 si la ligne calcule un sous-total pour la colonne correspondante.
Si vous ne transmettez aucun argument, cela équivaut à spécifier toutes les colonnes qui apparaissent dans GROUPING SET
, CUBE
ou ROLLUP
.
Exemples
> 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