次のタスクを実行する必要がある「run_date」という日付フィールドを持つテーブルがあります。
((最新の年AND月) AND前日) を持つ値を取得します。
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 の間で循環するため、上記のクエリは機能しません。助けていただければ幸いです、ありがとう!