1
나는 다음과 같은 작업을 수행 할 필요가있는 'run_date'라는 날짜 필드가있는 테이블이 다음 ((최신 년을 가지고있는 가치를 얻을포스트 그레스 쿼리
을 및 달)보다 이전의 일).
Example:
run_date
2012-12-24
2012-12-31
2013-01-03
2013-01-07
2013-01-14
위의 규칙을 따르므로 '2013-01-03'을 반환하는 쿼리가 필요합니다. 내 최고의 시도는 다음과 같습니다 물론
SELECT
run_date as val
FROM
myTable
WHERE to_char(run_date, 'MM'::text) = (SELECT MAX(EXTRACT ('MONTH' FROM run_date)) FROM myTable)
and to_char(run_date, 'YYYY'::text) = (SELECT MAX(EXTRACT ('YEAR' FROM dado_dt_data_rodada)) FROM myTable)
ORDER BY val ASC LIMIT 1
, 1-12 사이의 달주기, 쿼리 위에서 작동하지 않도록. 감사합니다. 감사합니다.
나는 그것이 작동한다고 생각합니다! 내가 원한 것은 가장 최근의 월 AND * 중 * 가장 빠른 날짜입니다. 따라서 먼저 DESC를 1 년으로 정렬 한 다음 다시 ASC로 정렬하십시오. – Fernando
@Fernando. . . 네, 이것이 그 일입니다. 'order by'의 첫 번째 부분은 가장 최근의 달을 상단에 놓습니다. 두 번째 부분은 해당 월의 가장 빠른 날짜를 나타냅니다. –
좋아요! 고맙습니다! – Fernando