在SQL中,我们按
select deptno, count(*) c from emp group by deptno;
DEPTNO C
------ -
10 3
20 5
30 6
select deptno, count(*) over (partition by deptno) c from emp;
DEPTNO C
------ -
10 3
10 3
10 3
20 5
20 5
20 5
20 5
20 5
30 6
30 6
30 6
30 6
30 6
30 6
进行分区和分组如果我们需要在HIVE中实践同样的事情,那将是一个选择。
我们在Hive中有相同的东西吗?
请建议
提前致谢。
最佳答案
Hive支持窗口功能,请参阅Windowing and Analytics Functions。所以实际上就是您发布的内容:
select deptno, count(*) over (partition by deptno) c from emp;
诀窍是您需要使用最新的Hive才能拥有开窗功能。链接的页面显示了这些是在Hive 0.11中引入的。
至于第一个查询
select deptno, count(*) c from emp group by deptno;
只是一个普通的聚合,我认为在v.-1中受支持...关于sql - 在Hive中查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21427691/