
如圖.
結果已經查詢出來了.
現在需要再用結果里所有PASS_RATE相乘,再得出一個結果
請問再怎么寫?
或者用什么函式?
意思就是99.95 * 99.98 * 100 * 100 * 100......
uj5u.com熱心網友回復:
可以使用數學的對數與冪次函式化乘法為加法:select power(10,sum(log(10,PASS_RATE/100))) from Tbname;
uj5u.com熱心網友回復:
SELECT EXP(SUM(LN(replace(pass_rate,'%','')))) FROM Auj5u.com熱心網友回復:
@才子鳴,你好,如何聯系你,向你請教uj5u.com熱心網友回復:
我的電話,13382339993uj5u.com熱心網友回復:
如果是全部累乘,用2樓的方法就可以. 不過2樓的replace沒必要如果是要分類累乘,需要用分析函式,比如
select exp(sum(ln(pass_rate)) over(partition by model_name))
uj5u.com熱心網友回復:
不過如果用ln方法,pass_rate不能為負數,否則會報錯uj5u.com熱心網友回復:
學到了
利用SUM+LN之間相加相當于引數相乘的形式,然后在用EXP解開得到相乘的數值,牛逼牛逼
uj5u.com熱心網友回復:
本來我的想法是通過listagg將各行的資料拼接在一起,然后寫個自定義函式回圈一下把相乘結果得出來,這種方式被EXP(SUM(LN(XXX)))給完爆了好吧
uj5u.com熱心網友回復:
學到了利用SUM+LN之間相加相當于引數相乘的形式,然后在用EXP解開得到相乘的數值,牛逼牛逼
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/51035.html
標籤:基礎和管理
下一篇:存盤程序和函式的區別?
