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

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        Y EARS         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

你可能感兴趣的:(oracle)