窗口分析函数_5_计算累加乘
生活随笔
收集整理的這篇文章主要介紹了
窗口分析函数_5_计算累加乘
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ?計算累加乘
需求描述
需求:計算EMP表里SAL字段的累計乘積值,這里按照SAL、EMPNO排序.
解決方法:通過SUM OVER() EXP LOG LN函數來完成.
注: 數據庫數據集SQL腳本詳見如下鏈接地址
員工表結構和數據初始化SQL腳本
SQL代碼
-- Sql Server: SELECT sal,empno,LOG(sal) AS Log_Sal,EXP(SUM(LOG(sal))OVER(ORDER BY sal,empno)) Accu_Prod FROM emp;執行結果
-- Oracle: SELECT sal,empno,LN(sal) AS Log_Sal,EXP(SUM(LN(sal))OVER(ORDER BY sal,empno)) Accu_Prod FROM emp;-- Mysql: SELECT B.sal,B.empno,(SELECT exp(SUM(ln(A.sal))) FROM emp A WHERE A.empno<=B.empno) AS Accu_Cnt FROM emp B ORDER BY Accu_CntSELECT B.sal,B.empno,exp(SUM(ln(A.sal))) AS Accu_Cnt FROM emp B JOIN emp AON A.empno <=B.empno GROUP BY B.sal,B.empno ORDER BY Accu_Cnt?
總結
以上是生活随笔為你收集整理的窗口分析函数_5_计算累加乘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车后底盘铁箱子滴水正常不。而且开过后还
- 下一篇: 窗口分析函数_6_计算累加差