学习 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(十二):分组集》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

浪潮之巅

浪潮之巅

吴军 / 电子工业出版社 / 2011-8 / 55.00元

近一百多年来,总有一些公司很幸运地、有意识或无意识地站在技术革命的浪尖之上。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。 从一百年前算起,AT&T 公司、IBM 公司、苹果公司、英特尔公司、微软公司、思科公司、雅虎公司和Google公司都先后被幸运地推到了浪尖。虽然,它们来自不同的领域,中间有些已经衰落或正在衰落,但是它们都极度辉煌过。本书系统地介绍了这些公司成功的本质原因及科......一起来看看 《浪潮之巅》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具