2016-11-25 4 views
0

테이블 date이있는 Foo 테이블이 있습니다.PostgreSQL에서, 오늘 가운데에있는 데이터

Foo을 중심으로 date == today을 가져 오는 쿼리를 작성할 수 있습니까?

예를 들어 나는 100 Foo입니다. 그리고 나는 그들 중 단지 5 명만 원한다. 그러나 나는 단지 다음과 같은 것을 원한다 : [<before-40days>, <before-30days>, <today>, <after-100days>, <after-101days>].

는 내가 현재 할 것은 : 내 응용 프로그램 result = a + b에서 다음

a = SELECT * FROM Foo WHERE date <= CURRENT_TIMESTAMP ORDER BY ASC;

b = SELECT * FROM Foo WHERE date >= CURRENT_TIMESTAMP ORDER BY DESC;

합니다.

오늘은 하나의 검색어로 Foo의 중심에 올릴 수 있습니까? https://www.postgresql.org/docs/9.5/static/queries-union.html

(SELECT * FROM Foo WHERE date <= CURRENT_TIMESTAMP ORDER BY ASC) 
UNION 
(SELECT * FROM Foo WHERE date >= CURRENT_TIMESTAMP ORDER BY DESC) 
ORDER BY ...; 

그것의 매우 간단하지만, 네트워크 오버 헤드가 감소됩니다

+0

샘플 테이블 데이터와 예상 결과 (형식이 지정된 텍스트)를 추가하십시오. 아마도 이해할 것입니다. – jarlh

답변

0

당신은 두 쿼리를 결합하는 UNION을 사용할 수 있습니다.

관련 문제