Re: aggregate function for median calculation

From: Alex Pilosov <alex(at)pilosoft(dot)com>
To: "Thalis A(dot) Kalfigopoulos" <thalis(at)cs(dot)pitt(dot)edu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: aggregate function for median calculation
Date: 2001-06-18 22:30:48
Message-ID: Pine.BSO.4.10.10106181823320.1010-100000@spider.pilosoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 18 Jun 2001, Thalis A. Kalfigopoulos wrote:

> Hippl,
> I'm interested in calculating the median of a set of numbers.
> The algorithm requires that all values are known in advance (ie stored
> in an array). So the question is: how can I store everything first in
> an array so I can later process it given that I'd like this to be an
> aggregate function. I thought of creating an aggregate function and
> have the state_function() gather all the values of a group in an array
> and the final_function() to do the actuall median calculation on this
> array. But the intermmediate state cannot hold multiple values in an
> array (can it?) Any ideas on how to go with this?

With current architecture, its kinda painful to implement such a function.
Your 'state' function should allocate (palloc) memory for each element
processed and then pfree it when you are done.

-alex

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John Holland 2001-06-18 22:31:01 Re: General Security-Question
Previous Message Joel Burton 2001-06-18 22:19:52 Re: Add primary and unique keys