学习 Hive(十二):分组集

栏目: 服务器 · 发布时间: 7年前

内容简介:分组集(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 语句 ab 是两个分组集,相当于将两个 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(十二):分组集》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图说区块链

图说区块链

徐明星、田颖、李霁月 / 中信出版社 / 2017-7-1 / 59.00元

区块链,如瑞士仪表般精密,如互联网般惊世骇俗,它在以神一般的节奏颠覆社会。 当新兴技术来临时,你可以选择规避——如果明天也可以规避的话。区块链也一样。 作为一个现象级概念,金融科技创新在过去几年迎来了奇点式发展。其中最引人注目的当属区块链技术。区块链技术正在动摇全球金融基础设施,它是全球顶级银行和其他金融机构重点追逐的领域。毫无疑问,区块链是未来5年最有前景的行业之一。 《图说区......一起来看看 《图说区块链》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具