我正在尝试在我的查询中创建用作postgresql sum函数替换的函数。
查询自己LOOONG和类似的东西
SELECT .... sum(tax) as tax ... from (SUBQUERY) as bar group by id;
我想用自己的sum函数替换它,它通过税收计算来改变最终值。
所以我创建了像这样的pgsql函数:
DECLARE
v double precision;
BEGIN
IF val > 256 THEN
v := 256;
ELSE
v := val;
END IF;
RETURN (v*0.21)/0.79;
END;
该函数使用双精度作为输入。使用此函数会给我错误:
column "bar.tax" must appear in the GROUP BY clause or be used in an aggregate function
所以我尝试使用double precision []作为函数的输入类型 - 在这种情况下,错误告诉我没有匹配名称和给定输入类型的postgresql函数。
有没有办法在我的查询中使用pgsql函数替换sum函数 - 我不想更改查询的任何其他部分,除非我真的,真的,真的必须。