首页 > 数据库 > mysql教程 > 用oracle语句计算百分比

用oracle语句计算百分比

WBOY
发布: 2016-06-07 14:50:50
原创
4150 人浏览过

来公司第一天,也没什么事干,经理说今天需要把报表做出来,需要写几个oracle语句,用来查询各类别下的人 员 数量和占总人数比例。如下图 统计人数到不是问题,关键是比例不知道该怎么去做,上网查了好几个方式都尝试过了,但还是没能弄出来,一 下 午的时间

 

    来公司第一天,也没什么事干,经理说今天需要把报表做出来,需要写几个oracle语句,用来查询各类别下的人

数量和占总人数比例。如下图

 

       统计人数到不是问题,关键是比例不知道该怎么去做,上网查了好几个方式都尝试过了,但还是没能弄出来,一

午的时间全花在解决这个问题上了,最后在要下班的时候,我突然看到了oracle中聚合函数sum() over的使用,最

终使得问题得到了解决。

 

实现代码:

SELECT(CASE 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
<p><span style="font-size:18px"><strong></strong></span> </p>
<p><span style="font-size:18px"><strong>结果展示:</strong></span></p>
<p><img src="http://img.blog.csdn.net/20160508223110629?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""></p>
<p> </p>
<p> </p>
<p> </p>
<p><span style="font-size:18px">SUM() OVER用法:</span></p>
<p><span style="font-size:18px">参考链接:http://www.2cto.com/database/201209/157605.html</span></p>
<p><span style="font-size:18px"></span> </p>
<p><span style="font-size:18px"><strong>总结:</strong></span></p>
<p><span style="font-size:18px">1、要学习的东西还有很多,知道什么有用很重要。</span></p>
<p><span style="font-size:18px">2、基础知识很重要,能用已知的探索未知的。</span></p>
<p> </p>
<p><span style="font-size:18px"></span> </p>
<p><span style="font-size:18px"></span> </p>
<p><span style="font-size:18px"></span> </p>
<p><span style="font-size:18px"></span> </p>
<p> </p>
   








登录后复制
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板