grouping_id-Funktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt die Gruppierungsebene für eine Gruppe von Spalten zurück.

Syntax

grouping_id( [col1 [, ...] ] )

Argumente

  • colN: Ein Spaltenverweis, der in GROUPING SET, ROLLUP oder CUBE identifiziert wird.

Gibt zurück

Ein BIGINT-Wert.

Die Funktion kombiniert die Gruppierungsfunktion für mehrere Spalten zu einer, indem sie jeder Spalte ein Bit in einem Bitvektor zuweist. col1 wird durch das höchstwertige Bit dargestellt. Ein Bit wird auf 1 gesetzt, wenn die Zeile eine Zwischensumme für die entsprechende Spalte berechnet.

Die Angabe von keinem Argument entspricht der Angabe aller in den Feldern GROUPING SET, CUBE oder ROLLUP aufgeführten Spalten.

Beispiele

> 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