集合を返す関数 generate_series の使用例を以下に記します。
使用例は、連番や日付の連続データになります。
本資料は、以下URLを参考及び引用等してます。
generate_series()に開始値と終了値を指定すると以下のように動作します。
generate_series(開始値, 終了値)
db1=# select generate_series(1,10);
generate_series
-----------------
1
2
3
4
5
6
7
8
9
10
(10 行)ステップ(インターバル)を指定することもできます。
generate_series(開始値, 終了値, ステップ値)
db1=# select generate_series(1,10,2);
generate_series
-----------------
1
3
5
7
9
(5 行)
以下のように値を減らす連続データも可能です。db1=# select generate_series(100,1,-20);
generate_series
-----------------
100
80
60
40
20
(5 行)以下のように日時のデータの連続データを生成することも可能です。
db1=# select * from generate_series(current_date,current_date + interval '30 days', '7 days'); generate_series --------------------- 2012-10-16 00:00:00 2012-10-23 00:00:00 2012-10-30 00:00:00 2012-11-06 00:00:00 2012-11-13 00:00:00 (5 行)
詳細な使い方はPostgreSQLのページで確認してみてください。