Re: Am I crazy or is this SQL not possible - Mailing list pgsql-sql

From Tom Lane
Subject Re: Am I crazy or is this SQL not possible
Date
Msg-id 14505.1149189691@sss.pgh.pa.us
Whole thread Raw
In response to Am I crazy or is this SQL not possible  ("Collin Peters" <cadiolis@gmail.com>)
Responses Re: Am I crazy or is this SQL not possible
List pgsql-sql
"Collin Peters" <cadiolis@gmail.com> writes:
> What I would like to do is simply get the last date_sent and it's
> status for every broadcast.  I can't do a GROUP BY because I can't put
> an aggregate on the status column.

You missed the key idea about how to use DISTINCT ON.

SELECT DISTINCT ON (email_broadcast_id) *
FROM email_broadcast_history
ORDER BY email_broadcast_id, date_sent DESC

You order by the DISTINCT ON fields, then one or more additional fields
to select the representative row you want within each DISTINCT ON group.
        regards, tom lane


pgsql-sql by date:

Previous
From: Florian Weimer
Date:
Subject: Re: SELECT DISTINCT too slow
Next
From: "Aaron Bono"
Date:
Subject: Re: Am I crazy or is this SQL not possible