窗口分析函数_10_计算组总和的占比
生活随笔
收集整理的這篇文章主要介紹了
窗口分析函数_10_计算组总和的占比
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ?計(jì)算組總和的占比
需求描述
需求:計(jì)算EMP表按照deptno分組,計(jì)算每組的SAL總和與所以記錄總和中的占比
解決方法:通過(guò)每組SUM(SAL)窗口函數(shù)再除以記錄總和來(lái)實(shí)現(xiàn).
注: 數(shù)據(jù)庫(kù)數(shù)據(jù)集SQL腳本詳見(jiàn)如下鏈接地址
員工表結(jié)構(gòu)和數(shù)據(jù)初始化SQL腳本
SQL代碼
-- Sql Server、Oracle:SELECT DISTINCT deptno,SUM(SAL)OVER(PARTITION BY deptno) AS sum_num,SUM(SAL)OVER() AS sum_total,CAST(ROUND(SUM(SAL)OVER(PARTITION BY deptno)/SUM(SAL)OVER(),2)AS DECIMAL(10, 2)) AS group_percent FROM emp執(zhí)行結(jié)果
-- Sql Server: SELECT deptno,CAST(SUM(SAL)/(SELECT SUM(SAL) FROM EMP)AS DECIMAL(10, 2)) AS group_percent FROM EMP GROUP BY deptno-- Mysql: SELECT deptno,ROUND(SUM(SAL)/(SELECT SUM(SAL) FROM EMP), 2) AS group_percent FROM EMP GROUP BY deptno總結(jié)
以上是生活随笔為你收集整理的窗口分析函数_10_计算组总和的占比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 开一家咖啡馆的成本 只要赚钱不要在意投多
- 下一篇: 622700开头是什么银行