2010-08-26 162 views
1

如何從表中選擇最大行?最大意味着什麼 - 我的表有兩個時間戳列TIME1和TIME2。最大列是具有TIME1最新值的列。如果這不是唯一的行,那麼最大值是那些行中具有最新TIME2值的行。如何從表中選擇「最大」行?

這對甲骨文來說很重要。

回答

2

你需要的是一個 「前N個」 查詢:

SELECT * FROM( SELECT * FROM表按時間1遞減,時間2遞減 順序),其中ROWNUM < 2;

,如果你正確的時間1指數,TIME2這將是非常快:

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

+1

爲什麼這標誌着正確的嗎?它按time1,time2的順序進行排序,這意味着與「最新的時間值」相反。 – 2010-08-26 12:04:24

+0

@Jeffrey Kemp:哦,是的,謝謝。如果有人編輯,我會再次標記爲正確。 – jjujuma 2010-08-26 13:05:16

+0

對,desc增加了兩次。 – 2010-08-26 14:52:52

相關問題