pl / pgsql数组作为聚合函数的输入

时间:2010-10-23 21:11:11

标签: postgresql plpgsql

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

regr_slope(Y,X)

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

麻烦是我在pl / pgsql函数中使用它作为一行:

斜率:= regr_slope(y,x);

我收到一条错误消息,说明该功能不可用或参数错误。我怀疑这是因为输入应该被选为表中的列,而不是作为双精度数组传递。

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

谢谢。

1 个答案:

答案 0 :(得分:1)

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;