mysql timegroup_MySQL GROUP BY DateTime +/- 3秒

本文探讨了如何在SQL查询中使用FLOOR函数和GROUP BY操作来按3秒时间窗口对含有时间戳的表格进行分组,适合模糊匹配跨服务器日志,解决在短时间内聚合的问题。作者提到需要将记录根据时间间隔重新组织,以确保相邻记录的聚合一致性。
摘要由CSDN通过智能技术生成

假设我有一个包含3列的表格:

id(PK,int)

时间戳记(日期时间)

标题(文字)

我有以下记录:

1, 2010-01-01 15:00:00, Some Title

2, 2010-01-01 15:00:02, Some Title

3, 2010-01-02 15:00:00, Some Title

我需要在彼此之间3秒钟之内进行GROUP BY记录。对于此表,第1行和第2行将组合在一起。

我也发现了这一点:http :

//www.artfulsoftware.com/infotree/queries.php#106

我不知道如何将这些方法转换为可以工作几秒钟的方法。SO问题上的方法的麻烦在于,在我看来,它仅适用于在已知点开始的时间范围内的记录。例如,如果我要FLOOR()以秒为单位工作,则以5秒为间隔,将15:00:04的时间与15:00:01分组,但不与15:00:06分组。

这有意义吗?请让我知道是否需要进一步说明。

编辑: 对于一组数字{1、2、3、4、5、6、7、50、51、60},看来最好将它们分组为{1、2、3、4、5,

6、7},{50、51},{60},以便每个分组行都取决于该行是否在上一行的3秒内。我知道这会改变一些情况,对此感到遗憾,我对此感到遗憾。

我正在尝试模糊匹配来自不同服务器的日志。服务器#1可能会记录一个项目“项目#1”,而服务器#2将在服务器#1的几秒钟内记录相同的项目“项目#1”。我需要在两条日志行上执行一些聚合函数。不幸的是,由于服务器软件的性质,我只有标题要继续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值