2012-06-26 3 views
1

У вас есть LIMIT запрос с конца результатов, а не с самого начала? В частности, я ищу решение с Postgresql, если это имеет значение.SQL LIMIT, но с конца

Позвольте мне пояснить пример.

Предположим, я хочу вернуть 3 самых старых людей в мою таблицу people, но в порядке возрастания возраста. Лучший способ я знаю, как выбрать 3-х человек возвращает правильные записи, но в обратном порядке:

SELECT * FROM people 
ORDER BY age DESC 
LIMIT 2 
+0

@marc_s, да, но они находятся в неправильный порядок – nicholaides

+0

См. ответ Kshitij - сортируйте в обратном направлении, возьмите TOP 2, затем снова отберите –

ответ

5

должен быть этот

ПУТЬ
SELECT * FROM (
SELECT * 
FROM PEOPLE 
ORDER BY AGE DESC 
LIMIT 3) X 
ORDER BY AGE ASC 
+0

Я отредактировал запрос, чтобы добавить псевдоним после подзапроса; Я уверен, что это требуется PostgreSQL. – kgrittn