Question

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.

Was it helpful?

Solution

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/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top