Функция grouping_id
Область применения: Databricks SQL
Databricks Runtime
Возвращает уровень группировки для набора столбцов.
Синтаксис
grouping_id( [col1 [, ...] ] )
Аргументы
-
colN
: ссылка на столбец, указанная вGROUPING SET
,ROLLUP
илиCUBE
.
Возвраты
Значение BIGINT.
Функция объединяет функцию группировки для нескольких столбцов в один, назначив каждому столбцу бит в битовом векторе.
Значение col1
представлено битом старшего порядка.
Бит имеет значение 1, если строка вычисляет промежуточный итог для соответствующего столбца.
Указание без аргументов эквивалентно указанию всех столбцов, перечисленных в GROUPING SET
, CUBE
или ROLLUP
.
Примеры
> 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