[英]Redshift UDF aggregate or window error
我寫了以下函數
create function sevRun (text,text,int)
returns int stable as $$
SELECT count(*)
FROM (SELECT case_id
FROM dbname.tablename
WHERE create_date >= TO_DATE('2017-' || $1::text || '-01', 'YYYY-MM-DD')
AND create_date < TO_DATE('2017-' || $2::text || '-01', 'YYYY-MM-DD')
AND min_impact <= $3
AND assigned_to_group IN ('listitem','listitem','....')
) inline_view
$$language sql;
當我調用函數select sevRun ('01','02',2);
我收到以下錯誤
Invalid operation: The select expression can not have aggregate or window function.;
我正在嘗試創建一個可以多次調用並更改月份以適應的函數
您無法從 Redshift 中 SQL UDF 內的表中進行選擇。 唯一允許的函數是對輸入參數進行運算並返回輸出的標量函數。
UPD:Redshift 現在支持 plpgsql 中的存儲過程。 官方文檔
為什么不是這個查詢 -
SELECT COUNT(*)
FROM dbname.tablename
WHERE create_date >= TO_DATE('2017-' || $1::text || '-01', 'YYYY-MM-DD')
AND create_date < TO_DATE('2017-' || $2::text || '-01', 'YYYY-MM-DD')
AND min_impact <= $3
AND assigned_to_group IN ('listitem','listitem','....')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.