首頁 >資料庫 >mysql教程 >用oracle语句计算百分比

用oracle语句计算百分比

WBOY
WBOY原創
2016-06-07 14:50:504143瀏覽

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