From: | Bruno Wolff III <bruno(at)wolff(dot)to> |
---|---|
To: | Chris Kratz <chris(dot)kratz(at)vistashare(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: multi-column aggregates |
Date: | 2006-03-09 22:28:18 |
Message-ID: | 20060309222818.GA21716@wolff.to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Mar 09, 2006 at 12:56:21 -0500,
Chris Kratz <chris(dot)kratz(at)vistashare(dot)com> wrote:
> Hello All,
>
> Is there any way in postgres to have an aggregate that uses input from two
> columns without using composite types? The example we are working on is a
> first or last aggregate which requires a data value and a date column. The
> result would be to find the latest date within the group and return the
> associated data value. Since there may be multiple date columns each with
> dependent columns, we can't use a sort by date and a simpler first or last
> aggregate.
It sounds like you could use the (postgres specific) DISTINCT ON construct
to do what you are looking for. Something like:
SELECT DISTINCT ON (groupcol) datacol ORDER BY groupcol DESC, datecol DESC;
If there are multiple versions of this being done at the same time, you
can do them separately and then join then on the group key (groupcol in
the example).
From | Date | Subject | |
---|---|---|---|
Next Message | Marc G. Fournier | 2006-03-09 22:33:44 | Re: majordomo unmaintained, postmaster emails ignored? |
Previous Message | Rick Ellis | 2006-03-09 21:59:32 | Re: majordomo unmaintained, postmaster emails ignored? |