postgresql中的multiply(num)聚合函数

时间:2014-02-07 08:57:32

标签: aggregate-functions postgresql-9.1

文档非常简单,这可能非常简单。有没有办法通过postgresql中的乘法运算符聚合列。我知道我可以做count(列)或sum(列),但是有一个我可以使用的乘法(列)或产品(列)函数。如果没有,任何想法如何实现它。

我正在使用postgres 9.1

的问候, 哈桑

1 个答案:

答案 0 :(得分:10)

当然,只需在基本乘法函数上定义一个聚合。例如。对于bigint:

CREATE AGGREGATE mul(bigint) ( SFUNC = int8mul, STYPE=bigint );

示例:

regress=> SELECT mul(x) FROM generate_series(1,5) x;
 mul 
-----
 120
(1 row)

请参阅CREATE AGGREGATE