首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在大查询中按分钟统计事件

如何在大查询中按分钟统计事件
EN

Stack Overflow用户
提问于 2021-08-19 19:16:48
回答 2查看 79关注 0票数 1

许多年前,我对SQL非常熟悉,但显然已经太久了,我失去了自己的技能和知识。

我有许多表,每个表都用额外的元数据跟踪一个给定的事件。其中一个元数据是UTC格式的时间戳(2021-08-11 17:27:27.916007 UTC)。

现在我需要计算事件每分钟发生的次数。第1列,Col2 EventName,以协调世界时表示的时间戳

我正在尝试回忆我过去的知识,以及如何将其应用于BQ。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2021-08-20 08:47:29

如果我理解得很好,您可以将时间戳转换为minutes,然后按其分组。

代码语言:javascript
复制
SELECT count(*) AS number_events, 
       FLOOR(UNIX_SECONDS(your_timestamp)/60) AS minute 
FROM your_table
GROUP BY FLOOR(UNIX_SECONDS(your_timestamp)/60)

所以它将你的时间戳转换成unix_seconds,然后除以60得到分钟,除以floor()得到除法后的小数。

如果在同一个表中有多种类型的事件,只需将事件的名称添加到selectgroup by

票数 1
EN

Stack Overflow用户

发布于 2021-08-19 21:27:01

第一步是按事件列分组。则可以对时间戳事件进行计数。

代码语言:javascript
复制
Select Col2_EventName, count(Timestamp )
group by 1

根据您的数据,必须进行更多的转换。例如,忽略时间戳中的秒,只保留完整的分钟,就像Javier Montón的答案中所做的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68853468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档