문제

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.

도움이 되었습니까?

해결책

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/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top