我有大約 600 個磁區表,稱為 table.ga_session。每張表間隔 1 天,每張表都有自己唯一的名稱,例如日期表 (30/12/2021) 的名稱為 table.ga_session_20211230。其他表也是一樣,命名格式應該是這個table.ga_session_YYYYMMDD。
現在,當我嘗試呼叫所有磁區表時,我不能使用這樣的命令:。錯誤表明 _PARTITIONTIME 無法識別。
SELECT
*,
_PARTITIONTIME pt
FROM `table.ga_sessions_20211228`
where _PARTITIONTIME
BETWEEN TIMESTAMP('2019-01-01')
AND TIMESTAMP('2020-01-02')
我也試過這個,但不起作用
select *
from between `table.ga_sessions_20211228`
and
`table.ga_sessions_20211229`
我也不能使用 FROM 'table.ga_sessions' 來應用 WHERE 子句來取出時間范圍,因為該表不存在。我如何呼叫所有這些磁區表?先感謝您!
uj5u.com熱心網友回復:
您可以使用通配符表進行查詢。例如:
SELECT max
FROM `bigquery-public-data.noaa_gsod.gsod*`
WHERE _TABLE_SUFFIX = '1929'
這將專門查詢 gsod1929 表,但如果需要,可以排除 table_suffix 子句。
在您的場景中,您可以執行以下操作:
select *
from table.ga_sessions_*`
WHERE _TABLE_SUFFIX BETWEEN '20190101' and '20200102'
有關更多資訊,請參閱此處的檔案:https : //cloud.google.com/bigquery/docs/reference/standard-sql/wildcard-table-reference
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/397721.html
上一篇:如何顯示下一次計劃檢查?
