1
我希望有人能与棘手的问题有所帮助:组相邻时间值
我怎样才能“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
结果应找到相邻条目(在本例中的每个四行两组),并告知最低“值”。 相邻距离可以是任何值,如1分钟或10分钟。
我试图重新格式化日期以便能够在没有秒的情况下进行“GROUP BY”,但这不适用于第一个结果。
我的MySQL的编程技能是有限的,但它可以用下面的步骤来完成:
- SELECT和ORDER BY“当”
- 围棋虽然值和当前和以前的“当”值之间告诉差异,如果在范围内,则GROUP,如果不输出新行。
任何想法?
只要(HAVING?)“TIMESTAMPDIFF(SECOND,when,last_when)<期望间隔”,我们可以设置像“last_when”(始终来自前一行)和GROUP BY的变量。结果应包含来自MIN(Value)行的“when”值。 –