トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
10-285 最新日から3ヶ月前まで表示
SQLパズル
daysTable
days
----------
2008/01/01
2008/02/01
2008/03/01
2008/04/01
2008/05/01
2008/06/01
2008/07/01
最新日から3ヶ月前まで表示する。
出力結果
days
----------
2008/05/01
2008/06/01
2008/07/01
データ作成スクリプト
create table daysTable(days) as
select date '2008-01-01' from dual union all
select date '2008-02-01' from dual union all
select date '2008-03-01' from dual union all
select date '2008-04-01' from dual union all
select date '2008-05-01' from dual union all
select date '2008-06-01' from dual union all
select date '2008-07-01' from dual;
SQL
select days
from (select days,
max(days) over() as maxDay
from daysTable)
where days > add_months(maxDay,-3);
解説
3ヶ月前の定義によっては、add_months関数が使えない可能性があります。
10-93 前月の同一日付を取得