【Hive】grouping sets() 函数
文章目录
- 1. 语法
- 2. 例子
1. 语法
grouping sets()函数是一种将多个group by逻辑写在一个sql语句中的便利写法。
等价于将不同维度的GROUP BY结果集进行UNION ALL。
GROUPING__ID是分组编号,从1开始。
比如:
-- 第一个sql
select a, b, c from t group by a-- 第二个sql
select a, b, c from t group by b-- 第三个sql
select a, b, c from t group by a, b-- 将这3个查询结果合在一起有
select a, b, c from (select a, b, c from t group by a)
union all
select a, b, c from (select a, b, c from t group by b)
union all
select a, b, c from (select a, b, c from t group by a, b)-- 将这两个合在一起的更简单的写法:使用 grouping sets
select a, b, c from t
group by a, b
grouping sets (a, b, (a, b))
2. 例子
cookie_info.txt
文件:2018-03,2018-03-10,cookie1 2018-03,2018-03-10,cookie5 2018-03,2018-03-12,cookie7 2018-04,2018-04-12,cookie3 2018-04,2018-04-13,cookie2 2018-04,2018-04-13,cookie4 2018-04,2018-04-16,cookie4 2018-03,2018-03-10,cookie2 2018-03,2018-03-10,cookie3 2018-04,2018-04-12,cookie5 2018-04,2018-04-13,cookie6 2018-04,2018-04-15,cookie3 2018-04,2018-04-15,cookie2 2018-04,2018-04-16,cookie1
导入数据
CREATE TABLE cookie_info(month STRING,day STRING,cookieid STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';load data local inpath '/root/hivedata/cookie_info.txt' into table cookie_info;select * from cookie_info;
分别统计每一天的cookie和每月的cookie并联合在一张表中
SELECT month, day, COUNT(DISTINCT cookieid) AS nums, GROUPING__ID FROM cookie_info GROUP BY month,day GROUPING SETS (month,day) ORDER BY GROUPING__ID;
结果:
【Hive】grouping sets() 函数相关推荐
- grouping sets函数
grouping sets: 根据不同的维度组合进行聚合,等价于将不同维度的group by结果集进行union all grouping__id(请注意函数名中的下划线是两个!):表示结果属于哪一个 ...
- presto和hive中grouping sets的格式不一致问题
背景 遇到的问题,在presto中使用hive中的grouping sets报错 报错信息如下 [1] Query failed (#20220811_003524_00009_hzxre): lin ...
- Hive之grouping sets用法详解
目录 关键字: 简单示例: 实例一: presto中grouping sets函数 关键字: GROUPING SETS: 根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UN ...
- oracle 分组统计效率,Oracle 分组求和函数(rollup、cube、grouping sets)
文章目录 1 场景 1.1 概念 1.2 思维导图 1.3 数据准备 2 知识点小结 2.1 group by 2.2 grouping sets:单独分组 2.3 rollup:累计累加 2.4 c ...
- Hive函数:GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
参考:lxw大数据田地:http://lxw1234.com/archives/2015/04/193.htm 数据准备: CREATE EXTERNAL TABLE test_data ( mont ...
- Hive sql分组函数grouping sets、cube、rollup用法简介
文章目录 1.数据如下: 2.建表如下: 3.grouping sets 4.cube 5.rollup 1.数据如下: user_id,dep_id,group_id,salary 10001,a, ...
- Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
GROUPING SETS 该关键字可以实现同一数据集的多重group by操作.事实上GROUPING SETS是多个GROUP BY进行UNION ALL操作的简单表达,它仅仅使用一个stage完 ...
- 大数据之hive:hive新功能之GROUPING SETS,Cube, Rollup
目录 一.GROUPING SETS 1.概述 2.实战 二.Cube 1.概述 2.实战 三.Rollup 1.概述 2.实战 四.Grouping_ID函数 一.GROUPING SETS 1.概 ...
- [转]详解Oracle高级分组函数(ROLLUP, CUBE, GROUPING SETS)
原文地址:http://blog.csdn.net/u014558001/article/details/42387929 本文主要讲解 ROLLUP, CUBE, GROUPING SETS的主要用 ...
最新文章
- python读取文件读不出来-python文件读取失败怎么处理
- ebs 供应商地点信息_实探荣耀办公地:与高通接近达成合作,加快供应商整合脚步...
- 《互联网公司工程师图鉴》
- JS 判断输入是否为数字
- apache正向代理配置
- 魔幻的2020年,请程序员们收下这份秋招建议!
- mysql 的 null值_MySQL NULL值
- 前端js日期时间格式转换
- mysql 开发进阶篇系列 13 锁问题(关于表锁,死锁示例,锁等待设置)
- Linux 使用 ffmpeg 开发
- python抓取天气预报_抓取天气预报的代码(Python)
- python opencv对颗粒的计数与计算空洞率
- 笔记本电脑连接无线网总是突然断网
- 存档:全球各国名称中英文对照表
- Raft 论文精读笔记|In Search of an Understandable Consensus Alg orithm (Extended Version)
- 92 - 青蛙跳台阶
- 第十三届蓝桥杯C++B组国赛I题——齿轮 (AC)
- 银行HR讲述实习生转正故事:寒门真的再难出贵子
- 标准电路——蜂鸣器Beep
- Django解决css样式失效问题最终方法
热门文章
- Deepin下安装scrapy报错fatal error: Python.h: 没有那个文件或目录
- Python数据分析训练营——Python基础语法
- 电脑不能正常连接网络常见问题解决方法
- php 支付宝证书 单笔转账到账户
- Outlook邮件客户端邮件如何备份?
- C++ 菱形字母金字塔
- 数据库系统原理 - - (6)数据库安全与保护
- 计算机毕业设计java+ssm二手书交易管理系统(源码+系统+mysql数据库+Lw文档)
- 数据要素的性质、定价及配置
- 如何将ascii值转字符