3

我正在编写执行一些统计处理的 pl/pgsql 函数。使用 8.2 的 postgres。我想使用这个方便的聚合函数:

regr_slope(Y, X)

但是,我将我的 X 和 Y 数据存储为 pl/pgsql 函数中的本地数组: y double precision[]; x 双精度[];

问题是当我在 pl/pgsql 函数中使用它作为一行时:

坡度:= regr_slope(y,x);

我收到一条错误消息,指出该函数不可用或参数错误。我怀疑这是因为输入应该从表中选择为列,而不是作为双精度数组传递。

有没有办法用本地数组制作 regr_slope 函数?(即,某种方式将数组转换为聚合函数的有效输入?)

谢谢你。

4

1 回答 1

2
SELECT regr_slope(x,y) INTO slope FROM (SELECT unnest(ARRAY[1,2,3,4]) as x, unnest(ARRAY[5,6,7,8]) AS y) AS z;
于 2010-10-23T21:59:56.860 回答