mySQL中作为参数的聚合函数
我在寻找解决办法,但我找不到答案。是否可以在mySQL中创建将聚合函数作为参数的过程或函数?mySQL中作为参数的聚合函数,mysql,sql,Mysql,Sql,我在寻找解决办法,但我找不到答案。是否可以在mySQL中创建将聚合函数作为参数的过程或函数? 例如,如果我调用函数“myFunction(SUM)”,它将使用SUM作为聚合函数,如果我调用myFunction(MAX),它将使用MAX.您只能使用动态SQL来实现这一点——也就是说,使用prepare和exec语句 如果要以内联方式执行此操作,您可能需要以下内容: select (case when myfunction = 'SUM' then sum(x) when
例如,如果我调用函数“myFunction(SUM)”,它将使用SUM作为聚合函数,如果我调用myFunction(MAX),它将使用MAX.您只能使用动态SQL来实现这一点——也就是说,使用
prepare
和exec
语句
如果要以内联方式执行此操作,您可能需要以下内容:
select (case when myfunction = 'SUM' then sum(x)
when myfunction = 'MAX' then max(x)
. . .
end) as custom_agg
我还应该注意,不能将函数名作为参数传入