Re: Aggregate Function to return most common value for a column

From: artacus(at)comcast(dot)net
To: David Fetter <david(at)fetter(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Aggregate Function to return most common value for a column
Date: 2009-05-22 17:23:47
Message-ID: 456544110.9296591243013027623.JavaMail.root@sz0018a.emeryville.ca.mail.comcast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Fri, May 22, 2009 at 03:23:07PM +0000, artacus(at)comcast(dot)net wrote:
> > I want to use an aggregate function that will return the most
> > commonly occurring value in a column.
>
> It's actually dead simple in Postgres. No C either. You just need to
> create an aggregate function. I wrote a most() aggregate a while
> back that does exactly what you are asking for. Here, I'll add it to
> my blog...
>
> http://scottrbailey.wordpress.com/2009/05/22/postgres-adding-custom-aggregates-most/

> Such an aggregate should probably be called, "mode," that being the
> probability/statistics name for the concept.

Excellent observation Dave. Sometimes I can't see outside of the box I'm in. And at the time I was focusing on text so statistics was in another box. I've update post with final functions for mode(), median() and range().

Scott

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2009-05-22 17:49:29 Re: Passing tokens to a function
Previous Message Keith Hayden 2009-05-22 16:48:42 Re: How to update stavaluesN columns in pg_statistics (type anyarry)