Hive入门(二) SQL操作

1.在Hive中用show functions;查看所有系统自带的函数.
2.查询每个部门薪资最高的数目
select deptno,max(sal) from emp GROUP BY deptno;
3.查询显示员工姓名,员工编号,部门名称
select e.enam,e.empno,d.danme FROM emp e JOIN dept d ON e.deptno=d.deptno;
4.按照部门进行薪资的排位
select ename,empno,sal,deptno ,ROW_NUMBER() OVER(PARTITION BY deptno ORDER BY sal DESC) rank FROM emp;
over()不能单独使用必须和其他函数一起使用.
5.每个部门薪资的前两名
select temp.ename,temp.empno,temp.sal,temp.deptno from (
select ename,empno,sal,deptno,ROW_NUMBER() OVER(PARTITION BY deptno ORDER BY sal DESC) rank FROM emp
) temp where rank >=2;
6.查询部门10的所有员工,并且按照薪资降序排序(默认升序)
select * from emp where deptno = “10” order by sal desc;
7.按照部门进行分组,按照薪资进行降序排序,每个部门薪资最高的那个人薪资显示在最后一列
select empno,ename,deptno,max(sal) over(partition by deptno order by sal desc)as dept_maxsal from emp;
8.按照部门进行分组,按照薪资进行降序排序,最后一列为序号,薪资最高为1,依次向下累加.
select empno,ename,deptno,sal,row_number() over(partition by deptno order by sal desc ) as rn from emp;
9.按照部门进行分组,按照薪资进行降序排序,最后一列为序号,薪资最高为1,依次向下累加.并且只显示前两位
select empno,ename,deptno,sal from(select empno,ename,deptno,sal,row_number() over(partition by deptno order by sal desc ) as rn from emp) temp where rn <3;
10.统计PV UV
select temp.date,COUNT(temp.url) pv,COUNT(DISTINCT temp.guid) uv
FROM( select substring(trackTime,0,10) date,url,guid from track_log where
length(url)>0)temp group by temp.date;
11.计算公司一个人拿的总工资工资+提成
select ename,case when comm is null then 0 + sal else comm + sal end from emp;
相当于if else
12.公司评定
显示收入评级:
select ename, case when sal < 1000 then “lower” when sal >= 1000 and sal <= 2000 then “mid” else “high” end from db_hive_demo.emp;
select ename, case when sal < 1000 then deptno when sal >= 1000 and sal <= 2000 then comm else “UNKNOWN” end from db_hive_demo.emp;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值