Passer au contenu principal
Alias : generateSeries

Syntaxe

Renvoie une table comportant une seule colonne, ‘generate_series’ (UInt64), qui contient les entiers de start à stop, bornes incluses :
generate_series(START, STOP)
Renvoie une table comportant une unique colonne ‘generate_series’ (UInt64) contenant les entiers de start à stop inclus, avec un espacement entre les valeurs défini par STEP :
generate_series(START, STOP, STEP)
STEP peut être négatif ; dans ce cas, la série est générée par ordre décroissant, de START à STOP. Si STEP est négatif et que START < STOP, le résultat est vide.

Exemples

Les requêtes suivantes renvoient des tables au contenu identique mais portant des noms de colonnes différents :
SELECT * FROM numbers(10, 5);
┌─number─┐
│     10 │
│     11 │
│     12 │
│     13 │
│     14 │
└────────┘
SELECT * FROM generate_series(10, 14);
┌─generate_series─┐
│              10 │
│              11 │
│              12 │
│              13 │
│              14 │
└─────────────────┘
Et les requêtes suivantes renvoient des tables au contenu identique, mais avec des noms de colonnes différents (la deuxième option est toutefois plus efficace) :
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 │
└─────────────────┘
Générez une série décroissante :
SELECT * FROM generate_series(9, 0, -1);
┌─generate_series─┐
│               9 │
│               8 │
│               7 │
│               6 │
│               5 │
│               4 │
│               3 │
│               2 │
│               1 │
│               0 │
└─────────────────┘
Dernière modification le 25 juin 2026