BigQuery:如何在滚动时间戳窗口内对行进行分组和计数?

BigQuery:如何在滚动时间戳窗口内对行进行分组和计数?,第1张

BigQuery:如何在滚动时间戳窗口内对行进行分组和计数?

以下是适用于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天范围,因此您可以设置所需的任何实际滚动周期



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5139708.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存