Поделиться через


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