---
title: "GROUPING - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: GROUPING 描述 该函数将 GROUP BY 子句扩展（如 ROLLUP ）生成的超聚集行中的 NULL 和常规行中的 NULL 区分开来。该函数把超聚集行中的 NULL 返回 1 ，常规行中的值返回 0 。 语法 GROUPING(expr) 参数解释 参数 expr 是 GROUP BY 子句中的一个表达式…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# GROUPING

更新时间：2026-07-15 20:42:46

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/300.aggregate-functions-of-oracle-mode/900.grouping-agg-of-oracle-mode.md)  

## 描述

该函数将 `GROUP BY` 子句扩展（如 `ROLLUP`）生成的超聚集行中的 `NULL` 和常规行中的 `NULL` 区分开来。该函数把超聚集行中的 `NULL` 返回 `1`，常规行中的值返回 `0`。

## 语法

```sql
GROUPING(expr)

```

## 参数解释

参数 `expr` 是 `GROUP BY` 子句中的一个表达式。

## 返回类型

返回 `NUMBER` 数据类型。

## 示例

创建表 `tbl1`，并插入数据。查询以列 `col2` 和列 `col3` 分组及 `ROLLUP` 子句生成的汇总行和正常记录。

```sql
obclient> CREATE TABLE tbl1(col1 INT,col2 INT,col3 INT);
Query OK, 0 rows affected

obclient> INSERT INTO tbl1 VALUES(1,NULL,NULL),(2,NULL,5),(3,1,6),(4,1,9),
            (5,1,NULL),(6,2,3),(7,2,NULL),(8,2,18),(9,2,9),
            (10,3,10),(11,3,12),(12,3,NULL);
Query OK, 12 rows affected
Records: 12  Duplicates: 0  Warnings: 0

obclient> SELECT * FROM tbl1;
+------+------+------+
| COL1 | COL2 | COL3 |
+------+------+------+
|    1 | NULL | NULL |
|    2 | NULL |    5 |
|    3 |    1 |    6 |
|    4 |    1 |    9 |
|    5 |    1 | NULL |
|    6 |    2 |    3 |
|    7 |    2 | NULL |
|    8 |    2 |   18 |
|    9 |    2 |    9 |
|   10 |    3 |   10 |
|   11 |    3 |   12 |
|   12 |    3 | NULL |
+------+------+------+
12 rows in set

obclient> SELECT col2,col3,DECODE(GROUPING(col3),1,'汇总','正常记录'),COUNT(*)
          FROM tbl1
          GROUP BY ROLLUP(col2,col3);
+------+------+--------------------------------------------------+----------+
| COL2 | COL3 | DECODE(GROUPING(COL3),1,'汇总','正常记录')       | COUNT(*) |
+------+------+--------------------------------------------------+----------+
|    1 |    6 | 正常记录                                         |        1 |
|    1 |    9 | 正常记录                                         |        1 |
|    1 | NULL | 正常记录                                         |        1 |
|    1 | NULL | 汇总                                             |        3 |
|    2 |    3 | 正常记录                                         |        1 |
|    2 |    9 | 正常记录                                         |        1 |
|    2 |   18 | 正常记录                                         |        1 |
|    2 | NULL | 正常记录                                         |        1 |
|    2 | NULL | 汇总                                             |        4 |
|    3 |   10 | 正常记录                                         |        1 |
|    3 |   12 | 正常记录                                         |        1 |
|    3 | NULL | 正常记录                                         |        1 |
|    3 | NULL | 汇总                                             |        3 |
| NULL |    5 | 正常记录                                         |        1 |
| NULL | NULL | 正常记录                                         |        1 |
| NULL | NULL | 汇总                                             |        2 |
| NULL | NULL | 汇总                                             |       12 |
+------+------+--------------------------------------------------+----------+
17 rows in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
