postgresql 自定义聚合函数

postgresql 自定义聚合函数,第1张

概述方法1 CREATE OR REPLACE FUNCTION public.sfun_test1( results numeric[], val numeric) RETURNS numeric[] LANGUAGE ‘plpgsql‘ COST 100 VOLATILE AS $BODY$BEGIN resul

方法1

CREATE OR REPLACE FUNCTION public.sfun_test1(    results numeric[],val numeric)    RETURNS numeric[]    LANGUAGE plpgsql    COST 100    VolATILE AS $BODY$BEGIN    results :=array_append(results,val);RETURN results;END;$BODY$;ALTER FUNCTION public.sfun_test1(numeric[],numeric)    OWNER TO postgres;

方法2:

CREATE OR REPLACE FUNCTION public.sffun_test1(    results numeric[])    RETURNS numeric    LANGUAGE plpgsql    COST 100    VolATILE AS $BODY$DECLARE     ppp integer;--百分位指标    kkk numeric;--序号    sss integer;--序号    ret numeric[];--结果BEGIN    ppp=90;--第90百分位    kkk=1+(array_length(results,1)-1)*ppp/100::numeric;    sss=floor(kkk);    ret=array_sort(results,asc);RETURN ret[sss]+(ret[sss+1]-ret[sss])*(kkk-sss);END;$BODY$;ALTER FUNCTION public.sffun_test1(numeric[])    OWNER TO postgres;

创建聚合函数

CREATE AGGREGATE agg_test1(BASETYPE = numeric,SFUNC = sfun_test1,STYPE = numeric[],FINALFUNC = sffun_test1);
总结

以上是内存溢出为你收集整理的postgresql 自定义聚合函数全部内容,希望文章能够帮你解决postgresql 自定义聚合函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/1162432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存