Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

generate_series (generateSeries)

Alias: generateSeries

Sintaxe

Retorna uma tabela com uma única coluna 'generate_series' (UInt64) que contém inteiros de start a stop, inclusive:

generate_series(START, STOP)

Retorna uma tabela com a única coluna 'generate_series' (UInt64), que contém inteiros de start até stop, inclusive, com espaçamento entre os valores definido por STEP:

generate_series(START, STOP, STEP)

STEP pode ser negativo; nesse caso, a série é gerada em ordem decrescente, de START até STOP. Se STEP for negativo e START < STOP, o resultado será vazio.

Exemplos

As consultas a seguir retornam tabelas com o mesmo conteúdo, mas nomes de colunas diferentes:

SELECT * FROM numbers(10, 5);
┌─number─┐
│     10 │
│     11 │
│     12 │
│     13 │
│     14 │
└────────┘
SELECT * FROM generate_series(10, 14);
┌─generate_series─┐
│              10 │
│              11 │
│              12 │
│              13 │
│              14 │
└─────────────────┘

E as consultas a seguir retornam tabelas com o mesmo conteúdo, mas com nomes de colunas diferentes (embora a segunda opção seja mais eficiente):

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 │
└─────────────────┘

Gere uma sequência decrescente:

SELECT * FROM generate_series(9, 0, -1);
┌─generate_series─┐
│               9 │
│               8 │
│               7 │
│               6 │
│               5 │
│               4 │
│               3 │
│               2 │
│               1 │
│               0 │
└─────────────────┘
Navigation