标签:rank 函数 44 Hive 84 deptno concat emp
1.GROUP BY
GROUP BY语句通常会和聚合函数一起使用,按照一个或者多个列队结果进行分组,然后对每个组执行聚合操作。
2.having与where不同点
(1)where后面不能写分组聚合函数,而having后面可以使用分组聚合函数。
(2)having只用于group by分组统计语句。
---(1)求每个部门的平均薪水大于2000的部门
select deptno,avg(sal) avg_sal
from emp
group by deptno
having avg_sal > 2000;
3.concat:拼接字符串
concat(e.empno,'-',e.ename,'-',e.job)
4.concat_ws是concat升级版
concat_ws('-',cast(e.empno as string),e.ename,e.job)
注意:concat_ws一定是字符串或者是字符串数组
5.collect_list不去重,行专列
SELECT deptno FROM emp;
22
33
44
55
44
SELECT COLLECT_LIST(deptno) FROM emp;
22,33,44,55,44
6.collect_set去重
SELECT COLLECT_SET(deptno) FROM emp;
22,33,44,55
7.rank(),dense_rank(),row_number()
rank()
分数 排名
84 1
84 1
78 3
68 4
dense_rank()
分数 排名
84 1
84 1
78 2
68 3
row_number()
分数 排名
84 1
84 2
78 3
68 4
标签:rank,函数,44,Hive,84,deptno,concat,emp 来源: https://blog.csdn.net/qq_42637913/article/details/121152290
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。