尝试使用声明:
SELECT *
FROM data.example
WHERE TIMESTAMP(timeCollected) < DATE_ADD(USEC_TO_TIMESTAMP(NOW()), 60, 'MINUTE')
从我的bigquery数据中获取数据。即使时间不在范围内,它似乎也返回相同的结果集。 timeCollected
的格式为2015-10-29 16:05:06
。
我正在尝试构建一个旨在返回的查询是不超过一小时的数据。因此,应该返回在过去一小时内收集的数据,其余的应该被忽略。
答案 0 :(得分:8)
您所做的查询意味着“将任何收集时间小于一小时的东西归还给我”,这将完全代表您的整个表格。您需要以下内容(至少从我的评论中得到):
$app->post('testAjax', function () {
return 'I am here';
});
这意味着任何不超过一小时的timeCollected都不会被返回。我相信这就是你想要的。
此外,除非您需要,否则Select *在BigQuery中并不理想。由于数据是按列保存的,因此您只需选择您需要的线路即可节省资金。我不知道你的用例,所以*可能有必要保证
答案 1 :(得分:2)
获取最近一小时内收集的表格数据:
$_REQUEST = array_merge($_GET, $_POST);
答案 2 :(得分:1)
使用标准SQL:
SELECT * FROM data
WHERE timestamp > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -60 MINUTE)
答案 3 :(得分:0)
使用标准SQL:
SELECT * FROM data WHERE timestamp > **TIMESTAMP_SUB**(CURRENT_TIMESTAMP(), INTERVAL 60 MINUTE)