Re: Calculating product from rows - (aggregate product )

From: Jasen Betts <jasen(at)xnet(dot)co(dot)nz>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Calculating product from rows - (aggregate product )
Date: 2009-05-04 10:53:38
Message-ID: gtmhfi$u26$2@reversiblemaps.ath.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2009-05-04, Allan Kamau <allank(at)sanbi(dot)ac(dot)za> wrote:
> Hi
>
> I would like to calculate a product of a field's values of a relation,
> this function may multiply each value and give the result as a single
> float number.
>
> For example:
>
>
> CREATE table imaginary(id INTEGER NOT NULL, some_field FLOAT
> NULL,primary key(id));
>
> INSERT INTO imarginary(1,0.333);INSERT INTO imarginary(2,0.667);INSERT
> INTO imarginary(3,0.4);
>
>
> SELECT prod(some_field) FROM imarginary;
>
>
> would give 0.0888444 (which is 0.333*0.667*0.4)
>
>
> Is there an already existing function that does this.

here's one way to cheat: logarythms.

select exp(sum(ln( thiscolumn ))) from foo;

:^)

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jasen Betts 2009-05-04 11:00:52 Re: keeping track of function execution
Previous Message Markus Wollny 2009-05-04 10:26:13 diff-/patch-functionality for text-type data inside PostgreSQL