我希望有人可以帮助解决这个棘手的问题:
如何“GROUP BY”某些行在时间戳之间具有可配置的相邻距离?
示例表:
ID | Value | When
1 | 5 | 2017-06-30 11:45:55
2 | 9 | 2017-06-30 11:45:56
3 | 0 | 2017-06-30 11:45:59
4 | 2 | 2017-06-30 11:46:02
5 | 7 | 2017-06-30 17:19:22
6 | 7 | 2017-06-30 17:19:22
7 | 3 | 2017-06-30 17:19:22
8 | 6 | 2017-06-30 17:19:22
期望的结果:
ID | Value | When
3 | 0 | 2017-06-30 11:45:59
7 | 3 | 2017-06-30 17:19:22
结果应找到相邻的条目(在示例中为两组,每组四行),并告诉最低的“值”。 相邻距离可以是任何值,例如一分钟或十分钟。
我尝试重新格式化日期以便能够在没有秒的情况下“GROUP BY”但这对第一个结果不起作用。
我的MySQL编程技巧有限,但可以通过以下步骤完成:
有什么想法吗?
答案 0 :(得分:0)
最后我决定编写一个C程序,它使用DB中的视图来获取原始排序数据。如果时间戳之间的差异在期望的限制内,则程序然后输出组。 然后将输出放回数据库中。