2012-06-26 3 views
1

LIMIT 처음부터 결과가 아닌 결과의 끝을 쿼리 할 수 ​​있습니까? 특히 차이점이 있다면 Postgresql을 사용하는 솔루션을 찾고 있습니다.SQL LIMIT, 끝에서부터

예를 들어 설명해 드리겠습니다.

people 테이블에서 3 명의 가장 오래된 사람을 반환하고 싶지만 연령이 오름차순입니다. 내가 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