报表与数据仓库运算-练习笔记2

题目九:返回未包含在GROUP BY 中的列

找到每个部门中工资最高和最低的员工,以及每种职位中工资最高和最低的员工,希望返回的结果集如下:

实现SQL:
SELECT deptno,ename,job,sal,max_dep_sal,min_dep_sal,
case sal when min_dep_sal then 'LOW SAL IN DEPT'
           when max_dep_sal then 'TOP SAL IN DEPT' ELSE NULL END AS DEPT_STATUS,
case sal when min_JOB_sal then 'LOW SAL IN JOB'
           when max_JOB_sal then 'TOP SAL IN JOB' ELSE NULL END AS JOB_STATUS FROM (
select t.deptno,t.ename,t.job,t.sal,
max(sal)over(partition by t.deptno order by t.deptno) as max_dep_sal,
min(sal)over(partition by t.deptno order by t.deptno) as min_dep_sal,
max(sal)over(partition by t.JOB order by t.JOB) as max_JOB_sal,
min(sal)over(partition by t.JOB order by t.JOB) as min_JOB_sal
  from emp t) ORDER BY DEPTNO,SAL
题目十:计算简单的小计,统计表EMP中各JOB的工资总和和放入一个结果集
实现SQL:
select case grouping(job) when 0 then job else 'TOTAL' end job,sum(sal) sal from emp t
group by rollup(job)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值