grouping_id함수(Databricks SQL)

열 집합에 대한 그룹화 수준을 반환합니다.

구문

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

인수

  • colN: , 또는 에서 식별된 열 GROUPING SETROLLUPCUBE 참조입니다.

반환

BIGINT입니다.

함수는 각 열에 비트 벡터의 비트를 할당하여 여러 열에 대한 그룹화 함수(Databricks SQL)를 하나로 결합합니다. col1는 가장 높은 순서의 비트로 표시됩니다. 행이 해당 열에 대한 부분합을 계산하는 경우 비트는 1로 설정됩니다.

인수를 지정하지 않는 것은 , 또는 에 나열된 모든 열을 지정하는 것과 GROUPING SETCUBEROLLUP 같습니다.

> 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