メインコンテンツへスキップ
別名: 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 │
└─────────────────┘
最終更新日 2026年6月10日