2015-01-09 2 views
0

은 가정하자 나는 두 테이블에서 선택을했습니다 :PostgreSQL을, 선택한 데이터 정렬 (타임 스탬프)

select a.frequency+b.lastrun 
from a, b where a.id = b.a_id; 

그리고 출력을 얻을 :

  ?column? 
---------------------------- 
2015-01-03 09:02:10.300201 
2015-01-09 09:02:10.300201 
2015-01-03 09:02:10.300201 
2015-01-02 21:02:10.300201 
2015-01-02 15:02:10.300201 
2015-01-09 09:02:10.300201 
2015-02-01 09:02:10.300201 
2015-01-03 09:02:10.300201 
2015-01-02 10:02:10.300201 
2015-01-03 09:02:10.300201 

내가 감소하여이 데이터를 정렬 할 방법을 ?

select a.frequency+b.lastrun 
from a, b 
where a.id = b.a_id 
order by 1; 

또는

select a.frequency+b.lastrun as ts 
from a, b 
where a.id = b.a_id 
order by ts; 

이 잘 매뉴얼에 설명되어 별칭 사용 :

+0

가장 오래된 것부터 가장 최신의 것으로 타임 스탬프별로 정렬하고 싶습니다. – user2177768

+1

'주문한 사람'을 사용하는 것이 잘못된 이유는 무엇입니까? –

+0

하지만 어떻게 사용하나요? – user2177768

답변

0

당신은 단순히 order by 절에 대한 열 번호를 제공 할 수 있습니다
http://www.postgresql.org/docs/current/static/queries-order.html


또한 이전 스타일의 암시 적 조인보다는 명시 적 조인에 익숙해졌습니다.

select a.frequency+b.lastrun 
from a 
    join b on a.id = b.a_id 
order by 1; 
+0

ASC 나 DESC가 ORDER BY를 더 읽기 쉽게 만들지 만, ASC는 기본값이다. –