跳到主要内容

GROUPING

返回一个位掩码,指示哪些 GROUP BY 表达式未包含在当前分组集内。位分配时,最右边的参数对应于最低有效位;每个位为 0 表示相应的表达式包含在生成当前结果行的分组集的分组标准中,为 1 表示未包含。

语法

GROUPING ( expr [, expr, ...] )
备注

GROUPING 只能与 GROUPING SETSROLLUPCUBE 一起使用,并且其参数必须位于分组集列表中。

参数

分组集项。

返回类型

UInt32。

示例

select a, b, grouping(a), grouping(b), grouping(a,b), grouping(b,a) from t group by grouping sets ((a,b),(a),(b), ()) ;
+------+------+-------------+-------------+----------------+----------------+
| a | b | grouping(a) | grouping(b) | grouping(a, b) | grouping(b, a) |
+------+------+-------------+-------------+----------------+----------------+
| NULL | A | 1 | 0 | 2 | 1 |
| a | NULL | 0 | 1 | 1 | 2 |
| b | A | 0 | 0 | 0 | 0 |
| NULL | NULL | 1 | 1 | 3 | 3 |
| a | A | 0 | 0 | 0 | 0 |
| b | B | 0 | 0 | 0 | 0 |
| b | NULL | 0 | 1 | 1 | 2 |
| a | B | 0 | 0 | 0 | 0 |
| NULL | B | 1 | 0 | 2 | 1 |
+------+------+-------------+-------------+----------------+----------------+
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册