2017-06-22 71 views
0

我已在在谷歌的BigQuery遵循相同的數據集四個數據表:計數用戶

enter image description here

我需要從這四個表計的用戶,並組織信息到表是這樣的:

enter image description here

下面的查詢返回的所有現有表的<projectID>:<dataset>.<tableID>路徑在這一刻:

SELECT CONCAT(project_id, ':', dataset_id, '.', table_id) AS paths, 
FROM [<projectID>:<dataset>.__TABLES__] 
WHERE MSEC_TO_TIMESTAMP(creation_time) < DATE_ADD(CURRENT_TIMESTAMP(), 0, 'DAY') 

如何迭代谷歌BigQuery中的計數爲所有以前的路徑?

回答

3

Wildcard tables應該通過拔出_TABLE_SUFFIX保留的列來完成這個技巧。

#standardsql 
SELECT 
    COUNT(*) AS lazy_count, 
    _TABLE_SUFFIX AS table 
FROM 
    `bigquery-public-data.noaa_gsod.*` 
GROUP BY 
    table 

enter image description here

注意:我不知道你指望着什麼,所以我只是用一個懶惰COUNT(*)。您可以簡單地將其更改爲您需要的任何列。

+0

感謝您的回答。如何transalte到遺留的SQL?我嘗試使用TABLE_QUERY()通配符函數。 –

+2

你爲什麼要使用傳統?不建議再使用它。 –

+0

因爲我所有的查詢都被寫入遺留的sql,並且我沒有時間遷移所有的代碼。我可以結合兩個查詢嗎? #legacySQL SELECT .... FROM ..... #standardSQL SELECT .... FROM .... –