用oracle語句計算百分比

2021-07-11 16:40:33 字數 899 閱讀 1690

來公司第一天,也沒什麼事幹,經理說今天需要把報表做出來,需要寫幾個oracle語句,用來查詢各類別下的人 員

數量和佔總人數比例。如下圖

統計人數到不是問題,關鍵是比例不知道該怎麼去做,上網查了好幾個方式都嘗試過了,但還是沒能弄出來,一 下

午的時間全花在解決這個問題上了,最後在要下班的時候,我突然看到了oracle中聚合函式sum() over的使用,最

終使得問題得到了解決。

實現**:

select(case when db_psndoc.age<=30 then '30歲以上'

when db_psndoc.age>30 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用法:

總結:

1、要學習的東西還有很多,知道什麼有用很重要。

2、基礎知識很重要,能用已知的探索未知的。

用oracle語句計算百分比

來公司第一天,也沒什麼事幹,經理說今天需要把報表做出來,需要寫幾個oracle語句,用來查詢各類別下的人 員數量和佔總人數比例。如下圖 統計人數到不是問題,關鍵是比例不知道該怎麼去做,上網查了好幾個方式都嘗試過了,但還是沒能弄出來,一 下午的時間全花在解決這個問題上了,最後在要下班的時候,我突然看到...

oracle 求百分比

oracle求百分比 例子 求name為dead的記錄所佔百分比 select tt.retrieve retrievedrate,tc.公司名稱 companyname,tc.部門名稱 deptname,tc.使用者名稱 username,tc.nodename nodename,tc.proce...

sql語句求百分比

此sql語句包括了兩個聚合函式做除法求百分比,並保留兩位小數,直接輸出字串形式的百分比。以及對case when在聚合函式的應用。select ss.ss name,ss id,count ea.ea id as eacounts,回單交換單個數 count eb.eb id as ebcounts...