网站首页 > 文章中心 > 其它

oracle怎么统计占比

作者:小编 更新时间:2023-10-21 18:16:52 浏览量:488人看过

oracle中如何求百分比?

实现代码:

ranges,?COUNT(*) rs ,100*round(COUNT(*)/SUM(COUNT(*))

GROUP?BY?CASE

END

扩展资料

sum(..) over(..)用法分析:

sum(...) over( ),对所有行求和;

sum(...) over( order by ... ), 连续求和;

sum(...) over( partition by... ),同组内所行求和;

sum(...) over( partition by... order by ... ),同第1点中的排序求和原理,只是范围限制在组内.

over不能单独使用,要和分析函数:rank(),dense_rank(),row_number(),sum()等一起使用.

含义,按columname1指定的字段进行分组排序,或者说按字段columnname1的值进行分组排序.

例子:

select deptno,ename,sal,

sum(sal) over (partition by deptno order by ename) 部门连续求和,--各部门的薪水"连续"求和

sum(sal) over (partition by deptno) 部门总和, -- 部门统计的总和,同一部门总和不变

如何在oracle里面实现占比统计的问题

where num=a

这些数据可以直接算的

count(decode(num,a,你要加的字段,null))

oracle 查询度量下每一列占合计的比重

select company,period,item,A*100/sum(A) over() from tab a;

这个是每个占所有公司的占比,如果要针对每个公司的占比,可以如下;

select company,period,item,A*100/sum(A) over(partition by company) from tab a;

oracle 合计行占比如何计算?

提一个不太好的办法,计算的时候可以用case when分支将合计行提出来单独计算.

类似上面的做法,不过负载有些大,而且我不知道你的合计和占比是不是一起计算的,如果是,那么可能就要麻烦很多,个人建议可以用参数来计算这样会省些事情.比如将男合计先计算出来,然后转为一个参数,然后再计算合计的时候直接用,这样能省下很多事情.

以上就是土嘎嘎小编为大家整理的oracle怎么统计占比相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章