Re: aggregate function for median calculation
| От | Thalis A. Kalfigopoulos |
|---|---|
| Тема | Re: aggregate function for median calculation |
| Дата | |
| Msg-id | Pine.LNX.4.21.0106191617340.24987-100000@aluminum.cs.pitt.edu обсуждение исходный текст |
| Ответ на | Re: aggregate function for median calculation (Alex Pilosov <alex@pilosoft.com>) |
| Ответы |
Re: aggregate function for median calculation
|
| Список | pgsql-general |
On Mon, 18 Jun 2001, Alex Pilosov wrote: > 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 So is there a way I can actually have a variable (the array with the elements) maintained between calls of the same function?I'm trying to figure how to design the aggregate's state_function that will do the element accumulation (beforeactually passing this array to the final to calculate the median). TIA, thalis
В списке pgsql-general по дате отправления: