我正在尝试创建在我的查询中替代 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
所以我尝试使用双精度 [] 作为函数的输入类型 - 在这种情况下,错误告诉我没有匹配名称和给定输入类型的 postgresql 函数。
那么有没有办法通过使用 pgsql 函数来替换我的查询中的 sum 函数 - 我不想更改查询的任何其他部分,除非我真的,真的,真的必须这样做。