求助:如何在BigQuery中统计每小时事务数?DATEPART未识别
在BigQuery中统计每小时事务数的解决方案
BigQuery不支持DATEPART函数,你需要使用EXTRACT函数来提取时间戳中的小时部分。如果业务需要区分不同日期的同一小时,建议同时按日期分组,避免数据混淆。
修改后的查询语句如下:
SELECT UserID, COUNT(event1) AS EventsPerHour, EXTRACT(HOUR FROM timestamp) AS Hour, -- 可选:若需区分日期,添加日期字段 DATE(timestamp) AS EventDate FROM `your-project.your-dataset.your-table` -- 替换为你的实际表路径 GROUP BY UserID, EXTRACT(HOUR FROM timestamp), DATE(timestamp) -- 可选,与上方日期字段对应 HAVING COUNT(event1) >= 10
关键说明:
EXTRACT(HOUR FROM timestamp)是BigQuery标准SQL的语法,用来替代不支持的DATEPART(HH, timestamp)。- BigQuery的表引用格式为
项目ID.数据集ID.表名,需替换成你实际的表路径,而非[TABLE]这类旧格式。 - 若无需按日期拆分,直接去掉
DATE(timestamp)相关的字段和分组项即可。
内容的提问来源于stack exchange,提问作者Gerlie Biong
相关产品推荐
相关产品推荐

