TOM高效设计不明白之处
请大家指导,谢谢!
某员工的工资占部门总工资数的百分比,以及占总工资数的百分比(如部门Y的员工X的工资为部门Y的10%,为公司总工资数的1%)在ORACLE中完成此工作的正确方法是用分析函数,如下
select deptno,
ename,
sal,
sum(sal)over (paration by deptno order by sal,ename) cum_sal,
round(100*ratio_to_report(sal) over(partion by detno),1) pct_dept,
round(100*ratio_to_report(sal) over() ,1) pct_overall
from emp
order by deptno,sal
/
对此我不明白
1、ratio_to_report是何含义?难道是ORACLE自带的函数吗?
2、 over() 和over(partion by detno) 主要是因为前面无需要分类,所以写空值是吗?
3、round是整函数,这里一定有必要用round吗?
|