このエントリーをはてなブックマークに追加


PostgreSQLで連番(データ)を作成する・generate_series

集合を返す関数 generate_series の使用例を以下に記します。
使用例は、連番や日付の連続データになります。
本資料は、以下URLを参考及び引用等してます。

関連資料

generate_series による数値の連番出力

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のページで確認してみてください。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:08:00