Re: Select most recent record? - Mailing list pgsql-sql

From Tom Lane
Subject Re: Select most recent record?
Date
Msg-id 17280.990024617@sss.pgh.pa.us
Whole thread Raw
In response to Re: Select most recent record?  (Andrew Perrin <andrew_perrin@unc.edu>)
List pgsql-sql
Andrew Perrin <andrew_perrin@unc.edu> writes:
> Except that he wants max(timestamp) by id; perhaps a GROUP BY would
> help, something like (untested):

Oh, I'm sorry, I missed the "for each id" bit.

> select max(timestamp) from log group by id;

That gives you the max timestamp for each id, all right, but not the
rest of the row in which the max timestamp occurs.  I know of no good
way to get that in standard SQL.  If you don't mind being nonstandard,
this is exactly the problem SELECT DISTINCT ON is meant for:

select distinct on (id) * from log order by id, timestamp desc;

See the SELECT reference page for more about this.
        regards, tom lane


pgsql-sql by date:

Previous
From: "Marc Sherman"
Date:
Subject: RE: Select most recent record?
Next
From: Peter Eisentraut
Date:
Subject: Re: To Run 2 database servers at the same time