[PostgreSQL] SELECT文を使って日付の連続(連番)データを生成する方法
SELECT current_date - s.i as dates FROM generate_series(1,30) AS s(i);
結果
dates
------------
2011-09-29
2011-09-28
2011-09-27
2011-09-26
2011-09-25
2011-09-24
2011-09-23
2011-09-22
2011-09-21
2011-09-20
2011-09-19
2011-09-18
2011-09-17
2011-09-16
2011-09-15
2011-09-14
2011-09-13
2011-09-12
2011-09-11
2011-09-10
2011-09-09
2011-09-08
2011-09-07
2011-09-06
2011-09-05
2011-09-04
2011-09-03
2011-09-02
2011-09-01
2011-08-31
(30 行)
アクセス集計や注文集計をしたいときは、上記の結果に対してLEFT JOINしてやれば、歯抜けレコードがないきれいな日次集計をすることができます。(要は、注文ゼロの日はちゃんんとゼロとして表示される)
すごい便利なのでぜひ試してみてください!
カテゴリ:
PostgreSQL