返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

GROUP BY CUBE 函数
语法
GROUP BY CUBE( (…),(…),…)
功能
对CUBE 后面括号里的n 个字段或表达式组合做GROUP BY 操作,最后将结果
合并在一起,组合方式为n 个字段或表达式的全部子集。
详细解释
GROUP BY CUBE(A,B,C) (A、B、C 代表语法中的“(…)”)

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
885
首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、
C),
(B),
(C),
然后对全表进行GROUP BY 操作,
最后将所有结果合并在一起
(相
当于UNION ALL 操作),如果n 个字段或表达式中的一个或多个在某一分组中
不出现在GROUP BY 后面,用NULL 代替不出现的字段或表达式。
示例
示例中所用的表及数据:
DROP TABLE IF EXISTS t3;
CREATE TABLE t3 (color_type varchar(20),color_count int, in_date date);
INSERT INTO t3 (color_type,in_date,color_count)
VALUES('black','2010-09-11',18),
('black','2010-10-05',18),('black','2010-10-13',31),
('blue','2010-09-21',23),('blue','2010-09-30',15),
('blue','2010-10-11',62),('red','2010-09-12',41),
('red','2010-10-01',12),('red','2010-10-05',11);
示例1:GROUP BY CUBE(color_type,f_YearMonth)
gbase> SELECT color_type,in_date,color_count FROM t3 ORDER BY
color_type,in_date;
+------------+------------+-------------+
| color_type | in_date
| color_count |
+------------+------------+-------------+
| black
| 2010-09-11 |
18 |
| black
| 2010-10-05 |
18 |
| black
| 2010-10-13 |
31 |
| blue
| 2010-09-21 |
23 |
| blue
| 2010-09-30 |
15 |
| blue
| 2010-10-11 |
62 |
| red
| 2010-09-12 |
41 |
| red
| 2010-10-01 |
12 |
| red
| 2010-10-05 |
11 |
+------------+------------+-------------+
9 rows in set
gbase> SELECT NVL(color_type,'') as color_type_show,NVL(DECODE(co
lor_type,NULL,f_YearMonth || '合计',NVL(f_YearMonth,color_type || ' 小
计')),'总计') AS f_YearMonth_show,SUM(color_count) FROM (SELECT c
olor_type,DATE_FORMAT(in_date, '%Y-%m') as f_YearMonth,color_coun
t FROM t3) t GROUP BY CUBE(color_type,f_YearMonth) ORDER BY
color_type,f_YearMonth;
+-----------------+------------------+------------------+
| color_type_show | f_YearMonth_show | SUM(color_count) |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
886
+-----------------+------------------+------------------+
| 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 |
|
| 2010-09 合计
|
97 |
|
| 2010-10 合计
|
134 |
|
| 总计
|
231 |
+-----------------+------------------+------------------+
12 rows in set

取值:[0|1]
默认值:0

GBase 8a MPP Cluster 参数手册
文档版本2022-06-07
南大通用数据技术股份有限公司
29
说明:自动评估是否使用第n 列进行聚集划分。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

l
锁粒度:GBase
8s 提供6 种粒度的锁,可满足各种并发模式下的需求。

锁粒度 
说明 
数据库锁 
针对整个数据库的锁 
表锁 
针对整个表的锁 
页锁 
针对整页数据的锁 
行锁 
针对一个数据行的锁 
字节锁 
在包含VARCHAR 的行上的锁 
键锁 
在索引中的一个键值上的锁 
l
锁类型:GBase
8s 支持多种类型的锁,包括共享锁、排他锁、提升锁。

l
支持自动解死锁:GBase 8s 对死锁的管理十分智能化,可通过数据库
锁资源的相关设置,使得数据库具有自动解死锁功能。