google-bigquery - 在 BigQuery 中获取不超过一小时的数据

标签 google-bigquery

尝试使用以下语句:

SELECT * 
FROM data.example 
WHERE TIMESTAMP(timeCollected) < DATE_ADD(USEC_TO_TIMESTAMP(NOW()), 60, 'MINUTE') 

从我的 bigquery 数据中获取数据。即使时间不在范围内,它似乎也返回相同的结果集。 timeCollected格式为 2015-10-29 16:05:06 .

我正在尝试构建一个查询,该查询旨在返回不超过一个小时的数据。所以应该返回最后一小时内收集的数据,其余的应该被忽略。

最佳答案

您所做的查询意味着“将任何收集时间小于一个小时的 future 归还给我”,字面意思是您的整个表。您需要以下内容(至少从我通过您的评论获得的信息):

SELECT * 
FROM data.example 
WHERE TIMESTAMP(timeCollected) > DATE_ADD(USEC_TO_TIMESTAMP(NOW()), -60, 'MINUTE')

这意味着不会返回任何不超过一小时前的 timeCollected。我相信这就是你想要的。

此外,除非您需要,否则 Select * 在 BigQuery 中并不理想。由于数据是按列保存的,您可以通过仅选择您需要的内容来节省资金。我不知道你的用例,所以 * 可能是有保证的

关于google-bigquery - 在 BigQuery 中获取不超过一小时的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33436494/

相关文章:

google-bigquery - 谷歌 bigquery 中的 ROWNUM 或 ROWID

google-bigquery - 如何查看公共(public)数据集?

python - 如何列出 Google Big Query 中所有数据集中所有表的大小

google-bigquery - 尝试从云存储加载 bigquery 表时出现 400 Bad Request 错误

google-bigquery - 如何使用 google.datalab.bigquery 从 DataLab 笔记本查询 BigQuery 表?

google-bigquery - BigQuery 中的事务隔离级别是什么

google-bigquery - 数据洞察中自定义查询中的无效日期错误

google-api - BigQuery - 检查表是否已存在

google-bigquery - 在 BigQuery 中循环数据

javascript - 在 BigQuery 中将 API 调用作为 UDF 的一部分 - 可能吗?