oracle怎么统计占比,oracle统计总金额

oracle中如何求百分比?

实现代码:

创新互联建站服务项目包括肇庆网站建设、肇庆网站制作、肇庆网页制作以及肇庆网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,肇庆网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到肇庆省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

ELECT(CASE WHEN db_psndoc.age=30 THEN '30岁以上'

WHEN db_psndoc.age30 THEN '30岁及以下' END)

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

OVER(),4)||'%' percent FROM bd_psnd

GROUP BY CASE

WHEN bd_psndoc.age=30 then '30岁及以下'

WHEN db_psndoc.age=30 THEN '30岁以上'

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()等一起使用。

over函数的参数:over(partition by columnname1 order by columnname2)

含义,按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分支将合计行提出来单独计算。

比如case when md5_at=男 and md7_at like '%合计' then dh_c_stylename/(select dh_c_stylename from table where md5_at='男合计') else dh_c_sty_zb(原来的dh_c_sty_zb的计算方式)end

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


网页名称:oracle怎么统计占比,oracle统计总金额
标题网址:http://myzitong.com/article/hsjpdg.html