Re: Aggregate Function to return most common value for a column - Mailing list pgsql-general

From Michael Harris
Subject Re: Aggregate Function to return most common value for a column
Date
Msg-id E5F4C5A18CAB7A4DA23080DE9CE815860834FD1A@eaubrmw001.eapac.ericsson.se
Whole thread Raw
In response to Re: Aggregate Function to return most common value for a column  (artacus@comcast.net)
Responses Re: Aggregate Function to return most common value for a column  (Benjamin Smith <ben@schoolpathways.com>)
List pgsql-general
Hi Scott,

Brilliant, that's exactly what I wanted.

I guess the only thing that worries me is if the table being aggregated
is very large, I assume this solution will use a lot of memory - since
it creates an array containing all of the values in the target
expression - but I suspect in my application that won't be a problem.

Thanks again,

Regards // Mike

-----Original Message-----
From: artacus@comcast.net [mailto:artacus@comcast.net]
Sent: Saturday, 23 May 2009 1:23 AM
To: Michael Harris
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Aggregate Function to return most common value
for a column

> 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-aggr
egates-most/


Scott Bailey

pgsql-general by date:

Previous
From: "Leif B. Kristensen"
Date:
Subject: Re: Aggregate Function to return most common value for a column
Next
From: Benjamin Smith
Date:
Subject: Code tables, conditional foreign keys?