Re: how do you write aggregate function

From: Justin <justin(at)emproshunts(dot)com>
To: Justin <justin(at)emproshunts(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: how do you write aggregate function
Date: 2008-03-11 15:14:26
Message-ID: 47D6A1D2.5000801@emproshunts.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

thanks

it now takes 806 ms

Martijn van Oosterhout wrote:
> On Mon, Mar 10, 2008 at 10:01:47AM -0500, Justin wrote:
>
>> i wish that could work but need to keep track of the individual weights
>> as its a percentage of the total amount of the weight.
>>
>
> Unless you have a different meaning of weighted average to me, I don't
> think you do. AFAIK this would produce exactly the same result as what
> your code does:
>
> state_function(state,weight,value)
> state[0] = state[0]+weight
> state[1] = state[1]+weight*value
>
> final_function(state)
> return state[1]/state[0]
>
> The state[0] is the same as your _sumedWeight. Because it's a constant in
> the second loop you can do the division after. state[1] is your
> _sumedWxV times _sumedWeight.
>
> Have a nice day,
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2008-03-11 15:15:24 Re: ISO something like "#if 0 ... #endif" for SQL code
Previous Message Richard Huxton 2008-03-11 15:12:31 Re: Database OID xxxxx now seems to belong to "foo"