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 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