Partager via


Fonction grouping_id

S’applique à :case marquée oui Databricks SQL case marquée oui 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 un GROUPING SET, un ROLLUP ou un CUBE.

Retours

Une valeur BIGINT.

La fonction combine la grouping fonction pour plusieurs colonnes en une 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