我正在尝试进行agregate乘法。我将使用棒球示例。
样本表
team player battingavg 1-battingavg = nohitavg
1 A 0.123 0.877
1 B 0.144 0.856
1 C 0.210 0.790
2 E 0.142 0.858
2 F 0.231 0.769
2 G 0.125 0.875
我想聚合乘以得到没有命中的整体概率。
对于队伍1 =(0.877)*(0.856)*(0.790)=没有命中的概率 对于团队2 =(0.858)*(0.769)*(0.875)=没有命中的概率
1 - 没有命中的概率=至少1次命中的概率。
SELECT team
, SOMEFUNCTION(nohitavg) as probofnohit
FROM table
GROUP BY team
期望的输出
team probofnohit
1 0.593
2 0.577
答案 0 :(得分:3)
数学上 PRODUCT(nohitavg)与 EXP(SUM(LN(nohitavg)))相同,但要小心这是基于FLOAD算术(15位数)精度),您可以在TD14中添加一个转换NUMBER(38位):
EXP(SUM(CAST(LN(nohitavg) AS NUMBER))))