エイリアス: generateSeries
start から stop までの整数 (両端を含む) を格納した、単一の generate_series 列 (UInt64) を持つテーブルを返します。
generate_series(START, STOP)
単一の 'generate_series' 列 (UInt64) を持つテーブルを返します。この列には、STEP で指定された間隔で、start から stop までの整数 (両端を含む) が格納されます。
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 │
└─────────────────┘