微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql 自定义aggregate function实现reduce

create or replace function lmy(first INTEGER,item INTEGER) returns INTEGER as $$
BEGIN
  return first * item;
END;
$$
LANGUAGE plpgsql;

create aggregate yml(INTEGER) (
  sfunc = lmy,stype = INTEGER,initcond = 1
);

isnp=# select i,yml(i) over (order by i) from generate_series(1,10) i;

i yml
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800

原文地址:https://www.jb51.cc/postgresql/194344.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐