我想创建一个PostgreSQL函数,它执行以下操作:
CREATE FUNCTION avg_purchases( IN last_names text[] DEFAULT '{}' )
RETURNS TABLE(last_name text[], avg_purchase_size double precision)
AS
$BODY$
DECLARE
qry text;
BEGIN
qry := 'SELECT last_name, AVG(purchase_size)
FROM purchases
WHERE last_name = ANY($1)
GROUP BY last_name'
RETURN QUERY EXECUTE qry USING last_names;
END;
$BODY$
Run Code Online (Sandbox Code Playgroud)
但我在这里看到两个问题:
当我这样做时,这当前返回零行:
SELECT avg_purchases($${'Brown','Smith','Jones'}$$);
Run Code Online (Sandbox Code Playgroud)我错过了什么?
arrays postgresql plpgsql aggregate-functions postgresql-9.2