【发布时间】:2019-11-06 04:44:03
【问题描述】:
我想获得某个列的特定值的多个值的聚合乘法。所以简单来说,我想要一组值 'X' 匹配相同的列值 'Y'
谁能帮忙解释一下情况或提供建议?
我试过分别解决这两个,很好,但是我采取的组合方法不起作用,导致错误:“00909.00000 - “无效的参数数量”错误。
如果问题被分成两个,据我所知,第一个是通过使用来解决的
exp(sum(ln(X)))
而第二个是由
function(X) over (partition by Y)
我的综合方法很简单:
(EXP (SUM( LOG(tbl.X) ) over (partition by tbl.Y)) )
桌子也是这样
Y X
______
a 2
a 2
b 3
新表的期望输出,其中寻求的值为 Z,应该是:
Y X Z
__________
a 2 4
a 2 4
b 3 3
【问题讨论】:
-
当你使用函数
ln而不是log时,它可以工作。 -
您可以随时为此编写自己的聚合。
-
感谢 cmets,它与
ln合作
标签: sql oracle function aggregate