oracle 查询入职年限,计算入职年限员工人数占总人数的百分比

select a.*,round(count(*)over(partition by years )/count(*)over()*100,2) bfb from (

select a.*,

case

when months_between(sysdate, hiredate) / 12 <= 20 then

'20年及以下'

when months_between(sysdate, hiredate) / 12 <= 25 then

'20-25年'

when months_between(sysdate, hiredate) / 12 <= 30 then

'25-30年'

else

'30年以上'

end years

from emp a

)a

EMPNO        ENAME        JOB        MGR        HIREDATE        SAL        COMM        DEPTNO        YEARS        BFB

1        7788        SCOTT        ANALYST        7566        1987-4-19        3000.00                20        20-25年        14.29

2        7876        ADAMS        CLERK        7788        1987-5-23        1100.00                20        20-25年        14.29

3        7566        JONES        MANAGER        7839        1981-4-2        2975.00                20        25-30年        78.57

4        7654        MARTIN        SALESMAN        7698        1981-9-28        1250.00        1400.00        30        25-30年        78.57

5        7698        BLAKE        MANAGER        7839        1981-5-1        2850.00                30        25-30年        78.57

6        7934        MILLER        CLERK        7782        1982-1-23        1300.00                10        25-30年        78.57

7        7839        KING        PRESIDENT                1981-11-17        5000.00                10        25-30年        78.57

8        7844        TURNER        SALESMAN        7698        1981-9-8        1500.00        0.00        30        25-30年        78.57

9        7521        WARD        SALESMAN        7698        1981-2-22        1250.00        500.00        30        25-30年        78.57

10        7499        ALLEN        SALESMAN        7698        1981-2-20        1600.00        300.00        30        25-30年        78.57

11        7782        CLARK        MANAGER        7839        1981-6-9        2450.00                10        25-30年        78.57

12        7900        JAMES        CLERK        7698        1981-12-3        950.00                30        25-30年        78.57

13        7902        FORD        ANALYST        7566        1981-12-3        3000.00                20        25-30年        78.57

14        7369        SMITH        CLERK        7902        1980-12-17        800.00                20        30年以上        7.14

对分析函数了解的不是很透彻,有没有简单点的SQL?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值