2014-02-07 76 views
1

这可能是令人难以置信的简单的文档是相当的。有没有办法通过postgresql中的乘法运算符来聚合列。我知道我可以计数(列)或总和(列),但是我可以使用乘法(列)或乘积(列)函数。如果没有,任何想法如何实现它。postgresql中的multiply(num)聚合函数

我使用的Postgres 9.1

问候, 哈桑

回答

7

当然,只是定义了碱增殖功能的集合体。例如。对于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

+0

作品。感谢一群 – saGii

+2

谁为此绊倒的额外信息。我需要这个双数,所以我做了: CREATE AGGREGATE mul(双精度)(SFUNC = float8mul,STYPE =双精度) – saGii