Re: MEDIAN as custom aggregate? - Mailing list pgsql-sql

From Allan Engelhardt
Subject Re: MEDIAN as custom aggregate?
Date
Msg-id 3BC761D0.92BB9D90@cybaea.com
Whole thread Raw
In response to MEDIAN as custom aggregate?  ("Josh Berkus" <josh@agliodbs.com>)
Responses Re: MEDIAN as custom aggregate?  ("Josh Berkus" <josh@agliodbs.com>)
List pgsql-sql
Can't you do something like

select age from ages order by age limit 1 offset (select count(*) from ages)/2;

except you can't nest the select so you'll have to use a variable to hold it...

Make sure it does the right thing when there is an odd number of rows.


I don't understand why you want the median and not some parameters of your assumed distribution (mean and variance, for
example)but each to his own...
 


Allan.

Josh Berkus wrote:

> Folks,
>
> Hey, anybody have a custom aggregate for median calucation?  I'm doing
> this through a PL/pgSQL function, and a custom aggregate would probably
> be faster.
>
> For those whose stats terminology is rusty, the "median" is the "middle"
> value in a distribution.  For example, if we had the following data:
>
> Table ages
> person          age
> Jim             21
> Rusty           24
> Carol           37
> Bob             62
> Leah            78
>
> Our Median would be Carol's age, 37.  This is a different figure from
> the Mean, or Average, which is 44.4.  Using the combination of the Mean
> and the Median you can do all kinds of interesting statistical analysis.
>
> -Josh Berkus
>
> ______AGLIO DATABASE SOLUTIONS___________________________
>                                        Josh Berkus
>   Complete information technology      josh@agliodbs.com
>    and data management solutions       (415) 565-7293
>   for law firms, small businesses        fax 621-2533
>     and non-profit organizations.      San Francisco
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly


pgsql-sql by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: indexing and LIKE
Next
From: "Josh Berkus"
Date:
Subject: Re: MEDIAN as custom aggregate?