您的位置:首页 > 其它

ratio_to_report()分析函数

2014-10-16 11:56 253 查看
最近看到一篇文章来求占百分比的函数,感觉非常方便!在这里举出,供大家一起看看!

分析函数,这里就不多说了!

先看下小例子:

select deptno , sum(sal) ,

  round(ratio_to_report( sum(sal) ) over() , 5)*100 || '%' percent_sum 

from emp

group by deptno ;

结果:


大家可以看到,这里按照部门编号求总工资,后面的则是每个部门的总工资,占所有工资总和的百分比!

非常方便,不用再使用子查询嵌套了!

再看一个小例子:

select deptno , --sum(sal) ,
round(ratio_to_report( sal ) over(partition by deptno) , 5)*100 || '%' percent_deptno 

from emp

order by deptno , sal ;

结果:


可以看出,这个是求每个员工的工资占他所在部门的总工资的百分比

总结:ratio_to_report() over()  第一个括号中就是分子,over() 括号中就是分母,

分母缺省就是整个占比
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息