oracle case when 查询各个部门不同工资阶段的人数

select d.deptName,e.level1,e.level2,e.level3 from
(select deptId,count(case when wage < 5000 then 1 else null end ) level1,count(case when wage >=5000 and wage <15000 then 1 else null end ) level2,
count(case when wage > 15000 then 1 else null end ) level3 from t_employee  group by deptId) e 
left join 
t_dept d 
on
e.deptId = d.deptId

      最近一好友问我假设有两个表。一个是employee表,记录这员工的基本信息包括工资、部门id等,另一张表是dept表,记录这部门的相关信息。如何通过这两张表,来查询出各个部门不同工资阶段的人数呢?

        经过查询相关资料,终于写出这个sql语句,经调试,能达到要求。本人小白,大佬不知道哪位大佬有效率更高更简便的写法呀。欢迎指点。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值