2016-08-10 3 views

Antwort

2

BigQuery Standard-SQL

SELECT 50 + ROW_NUMBER() OVER() AS num 
FROM UNNEST((SELECT SPLIT(FORMAT("%600s", ""),'') AS h FROM (SELECT NULL))) AS pos 
ORDER BY num 

BigQuery Legacy-SQL

SELECT 50 + pos AS pos FROM (
    SELECT ROW_NUMBER() OVER() AS pos, * 
    FROM (FLATTEN((SELECT SPLIT(RPAD('', 600, '.'),'') AS h FROM (SELECT NULL)), h)) 
) WHERE pos BETWEEN 1 AND 600 

Von dort können Sie Logik zum Beispiel einstellen können aufeinanderfolgende Tage und andere Sequenzen

+0

Ich habe etwas viel schöner in der Pipeline für Standard-SQL - leider ist es noch nicht verfügbar :(Ich werde diesen Beitrag zu Favoriten hinzufügen und eine Antwort hinzufügen, sobald ich etwas zu teilen habe. –

6

Versuchen GENERATE_ARRAY in Standard-SQL zu erhalten :

SELECT num FROM UNNEST(GENERATE_ARRAY(51, 650)) AS num; 
+0

danke Elliott. schöne neue Funktion –