我需要对数组内返回的值进行计算。
我正在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,并且显然不允许我执行多次计算。
是否可以对数组中的特定值进行计算?