| From: | Chris Bitmead <chris(dot)bitmead(at)bigfoot(dot)com> |
|---|---|
| To: | "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:45:13 |
| Message-ID: | 371F35F9.607AF4B7@bigfoot.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | George Moga | 1999-04-22 14:46:31 | Re: [SQL] Finding the "most recent" rows |
| Previous Message | Chris Bitmead | 1999-04-22 14:42:39 | Re: [SQL] SELECT TOP _x_ ?? |