postgresql中的multiply(num)聚合函数

saG*_*Gii 3 aggregate-functions postgresql-9.1

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

我正在使用postgres 9.1

问候,哈桑

Cra*_*ger 12

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

CREATE AGGREGATE mul(bigint) ( SFUNC = int8mul, STYPE=bigint );
Run Code Online (Sandbox Code Playgroud)

例:

regress=> SELECT mul(x) FROM generate_series(1,5) x;
 mul 
-----
 120
(1 row)
Run Code Online (Sandbox Code Playgroud)

看到 CREATE AGGREGATE

  • 有关谁发现此事的其他信息.我需要这个双数,所以我做了:CREATE AGGREGATE mul(双精度)(SFUNC = float8mul,STYPE =双精度) (2认同)