-
numbers()– Renvoie une table infinie avec une seule colonnenumber(UInt64) contenant des entiers en ordre croissant, à partir de 0. UtilisezLIMIT(et éventuellementOFFSET) pour limiter le nombre de lignes. -
numbers(N)– Renvoie une table avec une seule colonnenumber(UInt64) contenant des entiers de 0 àN - 1. -
numbers(N, M)– Renvoie une table avec une seule colonnenumber(UInt64) contenantMentiers allant deNàN + M - 1. -
numbers(N, M, S)– Renvoie une table avec une seule colonnenumber(UInt64) contenant des valeurs dans[N, N + M)avec un pas deS(environM / Slignes, arrondi à l’entier supérieur).Sdoit être>= 1.
system.numbers. Elle peut être utilisée pour les tests et pour générer des valeurs consécutives.
Les requêtes suivantes sont équivalentes :
Exemples
UInt64 >= 10^15 pour lequel sipHash64(number) se termine par 20 bits à zéro.
Remarques
- Pour des raisons de performances, si vous savez de combien de lignes vous avez besoin, privilégiez les formes bornées (
numbers(N),numbers(N, M[, S])) ànumbers()/system.numbers, qui ne sont pas bornés. - Pour une génération parallèle, utilisez
numbers_mt(...)ou la tablesystem.numbers_mt. Notez que les résultats peuvent être renvoyés dans n’importe quel ordre.