内容简介:分组集(Grouping Sets)实现了在一条 GROUP BY 语句多次 GROUP BY 操作。:point_up_2: 的 SQL 语句:point_up_2: 的 SQL 语句
分组集
分组集(Grouping Sets)实现了在一条 GROUP BY 语句多次 GROUP BY 操作。
SELECT a, b, SUM(c) FROM t1 GROUP BY a, b GROUPING SETS((a, b))
:point_up_2: 的 SQL 语句 (a, b)
是一个分组集,其等价于
SELECT a, b, SUM(c) FROM t1 GROUP BY a, b
SELECT a, b, SUM(c) FROM t1 GROUP BY a, b GROUPING SETS(a, b)
:point_up_2: 的 SQL 语句 a
和 b
是两个分组集,相当于将两个 GROUP BY 通过 UNION 合并,其等价于:
SELECT a, null, SUM(c) FROM t1 GROUP BY a UNION SELECT null, b, SUM(c) FROM t1 GROUP BY b
ROLLUP
上卷(Roll Up)也是一类分组集,按着分组条件逐层上卷,例如: GROUP BY a, b, c WITH ROLLUP
相当于 GROUP BY a, b, c GROUPING SETS((a, b, c), (a, b), (a), ())
CUBE
数据立方体(Cube)也是一类分组集,按着分组条件生成 2 的 n 次方种分组集组合,例如: GROUP BY a, b, c WITH CUBE
相当于 GROUP BY a, b, c GROUPING SETS((a, b, c), (a, b), (a, c), (b, c), (a), (b), (c), ())
GROUPING FUNCTION
grouping
函数可以用于查看分组集中的列是否参与了 GROUP BY 聚合,如果值为 0 则表示有,如果值为 1 则表示没有。
参考
以上所述就是小编给大家介绍的《学习 Hive(十二):分组集》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Go Web轻量级框架Gin学习系列:路由分组
- mybatis从数据库中取数据且分组,返回分组数据
- Java8中使用stream进行分组统计和普通实现的分组统计的性能对比
- MongoDB 分组统计
- MySQL——分组查询
- SPL 分组优化技巧
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。