別名: generateSeries
構文
start から stop までの整数を両端を含めて格納する、単一の 'generate_series' カラム (UInt64) を持つテーブルを返します。
generate_series(START, STOP)開始から終了までの整数を両端を含めて格納する、単一の 'generate_series' カラム (UInt64) を持つテーブルを返します。値の間隔は STEP で指定します:
generate_series(START, STOP, STEP)STEP には負の値を指定できます。その場合、START から STOP に向かって降順の並びが生成されます。STEP が負で START < STOP の場合、結果は空になります。
例
以下のクエリは、内容は同じでカラム名だけが異なるテーブルを返します。
SELECT * FROM numbers(10, 5);┌─number─┐
│ 10 │
│ 11 │
│ 12 │
│ 13 │
│ 14 │
└────────┘SELECT * FROM generate_series(10, 14);┌─generate_series─┐
│ 10 │
│ 11 │
│ 12 │
│ 13 │
│ 14 │
└─────────────────┘また、以下のクエリは内容は同じでカラム名だけが異なるテーブルを返します (ただし、2番目の方法のほうが効率的です) 。
SELECT * FROM numbers(10, 11) WHERE number % 3 == (10 % 3);┌─number─┐
│ 10 │
│ 13 │
│ 16 │
│ 19 │
└────────┘SELECT * FROM generate_series(10, 20, 3);┌─generate_series─┐
│ 10 │
│ 13 │
│ 16 │
│ 19 │
└─────────────────┘降順の数列を生成する:
SELECT * FROM generate_series(9, 0, -1);┌─generate_series─┐
│ 9 │
│ 8 │
│ 7 │
│ 6 │
│ 5 │
│ 4 │
│ 3 │
│ 2 │
│ 1 │
│ 0 │
└─────────────────┘