返回首页

gbase数据、南大通用产品文档:GBase8aGROUP BY ROLLUP 函数

更新日期:2024年09月11日

语法
GROUP BY ROLLUP( (…),(…),…)
功能
对ROLLUP 后面括号里的n 个字段或表达式组合做GROUP BY 操作,最后将结果
合并在一起,组合方式为n、n-1、n-2、…、1、0。
详见下面的解释:
GROUP BY ROLLUP(A,B,C) (A、B、C 代表语法中的“(…)”)
首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)
进行GROUP BY,
然后对全表进行GROUP BY 操作,
最后将所有结果合并在一起(相
当于UNION ALL 操作),如果n 个字段或表达式中的一个或多个在某一分组中不出
现在GROUP BY 后面,用NULL 代替不出现的字段或表达式。
通常该函数用于统计例如商品的明细,小计以及最后总计的场景。
示例
示例1:GROUP BY ROLLUP(color_type,f_YearMonth)

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 576
gbase> SELECT NVL(color_type,'') as color_type_show,DECODE(NVL(color_type,''),'','总计
',NVL(f_YearMonth,color_type || ' 小计')) AS f_YearMonth_show,SUM(color_count) FROM
(SELECT color_type,DATE_FORMAT(in_date, '%Y-%m') as f_YearMonth,color_count FROM
t3) t GROUP BY ROLLUP(color_type,f_YearMonth) ORDER BY color_type,f_YearMonth;
+-----------------+------------------+------------------+
| color_type_show | f_YearMonth_show | SUM(color_count) |
+-----------------+------------------+------------------+
| black | 2010-09 | 18 |
| black | 2010-10 | 49 |
| black | black 小计 | 67 |
| blue | 2010-09 | 38 |
| blue | 2010-10 | 62 |
| blue | blue 小计 | 100 |
| red | 2010-09 | 41 |
| red | 2010-10 | 23 |
| red | red 小计 | 64 |
| | 总计 | 231 |
+-----------------+------------------+------------------+
10 rows in set

表格分页......................................... 29

针对源为Gbase8t 目标为Gbase8t/Gbase8s 时,可以支持同义名和触发器
的迁移,设置页面如下:

勾选同义名即可将指定源库中相应的同义名迁移到目标端。

GBase Mingration Toolkit 迁移工具手册

- 28 -

南大通用数据技术股份有限公司
勾选触发器,会将源库触发器全部迁移到目标端。