以下是适用于BigQuery标准SQL的信息(请参阅启用标准SQL
我使用的
ts是字段名称(而不是
timestamp您的示例中的名称),并假定此字段为
TIMESTAMP数据类型
WITH dailyAggregations AS ( SELECt DATE(ts) AS day, url, event_id, UNIX_SEConDS(TIMESTAMP(DATE(ts))) AS sec, COUNT(1) AS events FROM yourTable GROUP BY day, url, event_id, sec)SELECt url, event_id, day, events, SUM(events) OVER(PARTITION BY url, event_id ORDER BY sec RANGE BETWEEN 259200 PRECEDING AND CURRENT ROW ) AS rolling3daysEventsFROM dailyAggregations-- ORDER BY url, event_id, day
259200的值实际上是3x24x3600,因此设置3天范围,因此您可以设置所需的任何实际滚动周期



