來公司第一天,也沒什麼事幹,經理說今天需要把報表做出來,需要寫幾個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...