私は、特定の日付範囲の間にレポートを取得するアプリケーションに取り組んでいます。複数の日付選択を選択する可能性があります。通常、毎月、四半期、および毎年の頻度の選択肢があります。したがって、任意の頻度タイプの任意の日付範囲を、重なり期間なしで選択することができます。今レポートでは、PostgreSQLを使用して選択期間を月単位で表示する必要があります。それは可能ですか?PostgreSQLのDateRange
などのサンプルクエリ:
select dt, description
from table1
where (
dt between '2005-12-26' and '2006-03-26'
or dt between '2006-03-27' and '2006-06-25'
or dt between '2006-06-26' and '2006-12-31'
or dt between '2007-12-31' and '2008-12-28'
)
group by dt, description
order by dt, description
ここ
- 日は(3月月)毎月の周波数を選択することによって選択された
- は日が(2006年の第2四半期)四半期周波数を選択することによって選択された
- [四半期頻度(2006年の第3四半期および第4四半期)]を選択して日付を選択しました
- 日付はs毎年周波数(2008)
を選択することによって選出だから今、私のレポートは
Date DateRange Description
2006-01-01 January2006-March2006 XXXXXXXXXXX
2006-08-31 July2006-Dec2006 UUUUUUUUUUU
2008-05-20 January2008-dec2008 ZZZZZZZZZZ
考えること、あなたの月と年はカレンダーとは異なって定義されているので、 'カレンダー'テーブルはあなたに非常に有益です。 PKは日付、その他のフィールドはビジネスルールに従って年、月などを指定します。 –