我有一个mysql表,其中包含一个包含4个不同事件的日志。每个事件每15分钟左右在其自己的行中记录一次,但它们不是每次都在同一时间捕获的。
表结构:
id datetime eventtype data
我需要对在同一个基本时间范围内捕获的所有4个事件执行一些计算,通常是在5分钟之内。例如,事件1和2可能分别在10:41和10:42被捕获,而事件3在10:44被捕获,而事件4在10:45到达得更晚。
问题是,任何事件都可能比其他事件早或晚一分钟。是否有一种方法可以在最近的时间范围内选择和分组每种事件类型的行?
有些不准确是可以预料的,因为有可能一个事件不进来,甚至被推了几分钟,而成为下一个时间框架的一部分。我只需要确保任何给定的分组对于每个事件类型都有一个有效的事件(我可以在计算时检查)。
我开始用groupby,但失败得很惨,因为每个事件的日期时间都不一样。这将是一个很大的表,所以我认为循环行并逐个执行数学/分组没有意义,至少我希望这不是最好的方法。我不知道下一步该转向哪里。任何指向正确方向的指针都将不胜感激!
样本数据
id datetime eventtype data
1 10:41 1 67
2 10:45 4 14
3 10:42 2 12
4 10:44 3 87
5 10:57 1 63
6 10:59 4 13
7 10:59 2 19
8 11:01 3 01
所需查询的结果:
datetime event1 event2 event3 event4
Result 1: 10:41 67 12 87 14
Result 2: 10:57 63 19 01 13
暂无答案!
目前还没有任何答案,快来回答吧!