RE: [SQL] Finding the "most recent" rows

From: Michael J Davis <michael(dot)j(dot)davis(at)tvguide(dot)com>
To: "'Chris Bitmead'" <chris(dot)bitmead(at)bigfoot(dot)com>, "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgreSQL(dot)org>
Subject: RE: [SQL] Finding the "most recent" rows
Date: 1999-04-22 14:53:18
Message-ID: 93C04F1F5173D211A27900105AA8FCFC145408@lambic.prevuenet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Try
select * from the_place order by the_time desc limit 2;

-----Original Message-----
From: Chris Bitmead [SMTP:chris(dot)bitmead(at)bigfoot(dot)com]
Sent: Thursday, April 22, 1999 8:45 AM
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] Finding the "most recent" rows

Try
SELECT the_place, max(the_time) FROM the_place GROUP BY the_place;

Julian Scarfe wrote:
>
> I have a table (representing a set of observations) with datetime
fields and a
> non-unique place field.
>
> e.g.
> create table obs (
> the_time datetime,
> the_place char(8),
> ...other fields...
> )
>
> I'd like an efficient way to pull out the most recent row (i.e.
highest
> datatime) belonging to *each* of a number of places selected by a
simple
> query.
>
> e.g. given a table such as:
>
> the_time the_place ...
> 0910 London
> 1130 London
> 0910 Paris
> 0930 London
> 0840 Paris
> 1020 London
> 0740 Paris
>
> I'd like to select:
> 1130 London
> 0910 Paris
>
> Most of my attempts at this (as an SQL novice) feel very clumsy
and
> inefficient. Is there an efficient way of doing this in SQL?
> --
>
> Julian Scarfe

--
Chris Bitmead
http://www.bigfoot.com/~chris.bitmead
mailto:chris(dot)bitmead(at)bigfoot(dot)com

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 1999-04-22 15:29:31 Re: [SQL] Finding the "most recent" rows
Previous Message George Moga 1999-04-22 14:46:31 Re: [SQL] Finding the "most recent" rows