Redshift UDF聚合或窗口错误

时间:2017-09-22 09:45:41

标签: sql amazon-redshift

我写了以下函数

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.;

我正在尝试创建一个可以多次调用的函数,并将月份更改为适合

2 个答案:

答案 0 :(得分:1)

您无法从Redshift中的SQL UDF中的表中进行选择。唯一允许的函数是标量函数,它们对输入参数进行操作并返回输出。

答案 1 :(得分:0)

为什么不这个查询 -

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','....')