窗口分析函数_10_计算组总和的占比
生活随笔
收集整理的這篇文章主要介紹了
窗口分析函数_10_计算组总和的占比
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ?計算組總和的占比
需求描述
需求:計算EMP表按照deptno分組,計算每組的SAL總和與所以記錄總和中的占比
解決方法:通過每組SUM(SAL)窗口函數再除以記錄總和來實現.
注: 數據庫數據集SQL腳本詳見如下鏈接地址
員工表結構和數據初始化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執行結果
-- 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總結
以上是生活随笔為你收集整理的窗口分析函数_10_计算组总和的占比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开一家咖啡馆的成本 只要赚钱不要在意投多
- 下一篇: 622700开头是什么银行