>데이터 베이스 >MySQL 튜토리얼 >用oracle语句计算百分比

用oracle语句计算百分比

WBOY
WBOY원래의
2016-06-07 14:50:504151검색

来公司第一天,也没什么事干,经理说今天需要把报表做出来,需要写几个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>
   








성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.