2010-08-26 5 views
1

Как выбрать максимальную строку из таблицы? Что означает максимальное значение - хорошо, что моя таблица имеет два столбца временной метки TIME1 и TIME2. Максимальный столбец - тот, который имеет самое последнее значение для TIME1. Если это не уникальная строка, то максимальным является тот, который находится в этих строках с последним значением для TIME2.Как выбрать строку «максимум» из таблицы?

Это касается Oracle, если это имеет значение.

ответ

2

Что вам нужно, это "Top-N" запрос:

выберите * из ( выберите * из таблицы заказа по TIME1 убыв, time2 убыванию ), где ROWNUM < 2;

если вы правильно индекс time1, time2 это будет очень быстро:

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

+1

Почему это ознаменовало правильно? Он заказывает время1, time2 ASCENDING, что означает противоположность «последнего значения времени». –

+0

@ Джеффри Кемп: О да, спасибо. Если кто-то отредактирует, я снова отметю его. – jjujuma

+0

справа, desc добавлен дважды. –