Getting row with id=max(id)

From: Gerald Gutierrez <gml1(at)coldresist(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Getting row with id=max(id)
Date: 2001-06-07 17:00:02
Message-ID: 5.1.0.14.0.20010607100000.02b8ae58@coldresist.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


I'd like to retrieve a row of a table that has the maximum ID. For example,
with:

id | s
----+-------
1 | alpha
2 | beta
3 | gamma
4 | delta

I'd like to get the row with ID=4. I've tried:

SELECT * FROM mytable WHERE id=(SELECT MAX(id) FROM mytable);

The subquery can take a /really/ long time on a table that is large. The query:

SELECT * FROM mytable ORDER BY id DESC LIMIT 1;

doesn't seem to help very much. What query is the fastest at getting this row?

A related question is: is there a way to time a query in psql, like the
client of MySQL does?

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Peter Eisentraut 2001-06-07 17:00:44 Re: Re: About i8n
Previous Message Gerald Gutierrez 2001-06-07 16:59:50 Are SQL commands "atomic" ?