1

How can I select the maximum row from a table? What does maximum mean -- well my table has two timestamp columns, TIME1 and TIME2. The maximum column is the one with the latest value for TIME1. If that is not a unique row, then the maximum is the one within those rows with the latest value for TIME2.

This is on Oracle if that matters.

APC
  • 144,005
  • 19
  • 170
  • 281
jjujuma
  • 22,055
  • 12
  • 44
  • 46

1 Answers1

2

What you need is a "Top-N" query:

select * from ( select * from table order by time1 desc, time2 desc ) where rownum < 2;

if you properly index on time1, time2 it will be very fast:

http://blog.fatalmind.com/2010/07/30/analytic-top-n-queries/

Markus Winand
  • 8,371
  • 1
  • 35
  • 44