我试图从日期分区的BigQuery表中的最新分区中选择数据,但查询仍然从整个表中读取数据.
我试过(据我所知,BigQuery不支持QUALIFY):
SELECT col FROM table WHERE _PARTITIONTIME = (
SELECT pt FROM (
SELECT pt, RANK() OVER(ORDER by pt DESC) as rnk FROM (
SELECT _PARTITIONTIME AS pt FROM table GROUP BY 1)
)
)
WHERE rnk = 1
);
Run Code Online (Sandbox Code Playgroud)
但这不起作用并读取所有行.
SELECT col from table WHERE _PARTITIONTIME = TIMESTAMP('YYYY-MM-DD')
Run Code Online (Sandbox Code Playgroud)
'YYYY-MM-DD'特定日期在哪里工作.
但是,我需要在将来运行此脚本,但表更新(和_PARTITIONTIME)是不规则的.有没有办法只从BigQuery的最新分区中提取数据?