grouping sets/rollup/cube用法 本页介绍天翼云TeleDB数据库的grouping sets/rollup/cube用法。 group by用法 销售明细表。 create table tgrouping(id int,dep varchar(20),product varchar(20),num int); insert into tgrouping values(1,'业务1部','手机',90); insert into tgrouping values(2,'业务1部','电脑',80); insert into tgrouping values(3,'业务1部','手机',70); insert into tgrouping values(4,'业务2部','电脑',60); insert into tgrouping values(5,'业务2部','手机',50); insert into tgrouping values(6,'业务2部','电脑',60); insert into tgrouping values(7,'业务3部','手机',70); insert into tgrouping values(8,'业务3部','电脑',80); insert into tgrouping values(9,'业务3部','手机',90); 按dep、product 两级汇总分数。 teledb select dep,product,sum(num) from tgrouping group by dep,product order by dep,product; dep product sum ++ 业务1部 电脑 80 业务1部 手机 160 业务2部 电脑 120 业务2部 手机 50 业务3部 电脑 80 业务3部 手机 160 使用grouping sets grouping sets的每个子列表可以指定零个或多个列或表达式,并且与其直接在 GROUP BY 子句中的解释方式相同。一个空的分组集合意味着所有的行都被聚合到一个组中。 如按name、class 单级分别汇总,再计算一个总分。 teledb select dep,product,sum(num) from tgrouping group by grouping sets((dep),(product),()) order by dep,product; dep product sum ++ 业务1部 240 业务2部 170 业务3部 240 电脑 280 手机 370 650 (6 rows) 使用grouping sets 代替 group by 。 teledb