是否可以对数组中的特定值求和?

时间:2019-05-20 17:09:00

标签: arrays postgresql

我需要对数组内返回的值进行计算。

我正在PostgreSQL上运行。我需要返回要分组为数组的一组值之间的差:

{201.00000,145.00000,199.00000}

我想返回每对值之间的差(例如(201-145)和(145-199))。

我首先尝试了以下代码:

SELECT md.merchant_id, 
  array_agg(ao.daily_ach_amount) FILTER (WHERE ao.daily_ach_amount IS NOT null), 
  (SELECT (n + ((n+1)*-1)) FROM UNNEST(array_agg(ao.daily_ach_amount) FILTER (WHERE ao.daily_ach_amount IS NOT null)) n)

FROM merchant_detail md
left join advance_offer_deal ao ON ao.merchant_id = md.merchant_id

但这给了我这个错误: 错误:由子查询返回的多于一行用作表达式

我试图将我的嵌套限制为1,但这使我每一行的值为-1,并且显然不允许我执行多次计算。

是否可以对数组中的特定值进行计算?

0 个答案:

没有答案