2017-01-19 1 views

Antwort

2

Als ein Beispiel generieren:

Speichern Sie unter Abfrage als eine Ansicht (nennen wir es - view_test - Ich nehme an, es im selben Datensatz wie Tabellen)

#standardSQL 
SELECT PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) as table, COUNT(1) as rows_count 
FROM `yourProject.yourDataset.table_name_*` 
WHERE _TABLE_SUFFIX 
     BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 13 DAY)) 
      AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)) 
GROUP BY 1 

Jetzt können Sie es verwenden, wie unten zum Beispiel:

#standardSQL 
SELECT * 
FROM `yourProject.yourDataset.view_test` 

Also, diese Ansichten Referenzierung letzten 12 volle Tage
Sie können TAG MONAT ändern 12 Monaten haben stattdessen

hoffe, Sie haben eine Idee

Bei Bedarf kann dies leicht in Legacy SQL "übersetzt" werden (stellen Sie sicher, dass die Ansicht und Abfrage, die diese Ansicht aufruft, die gleiche SQL-Version/Dialekt verwenden)
Nicht e: Google empfiehlt migrate to Standard SQL wann immer es möglich ist!

1

Sie könnten Funktion TABLE_DATE_RANGE verwenden, die nach doc (https://cloud.google.com/bigquery/docs/reference/legacy-sql#table-date-range):

Abfragen täglich mehrere Tabellen, die einen Datumsbereich umfassen.

wie unten:

SELECT *FROM TABLE_DATE_RANGE(data_set_name.table_name, 
        TIMESTAMP('2016-01-01'), 
        TIMESTAMP('2016-12-31')) 

wie es derzeit keine Möglichkeit, Ihre Ansicht parametrisieren programmatisch müssen Sie Ihre Fragen/Ansichten durch ein anderes Werkzeug/code

Verwandte Themen