Функция 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