grouping_id 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

返回一组列的分组级别。

语法

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

参数

  • colN:在 GROUPING SETROLLUPCUBE 中标识的列引用。

返回

一个 BIGINT。

该函数通过在位向量中为每一列分配一个位来将多个列的 grouping 函数合并为一个。 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