用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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート