0
是否有表达在MySQL以下查询方式:MySQL查询为行序列
让一台具有类型行的A,B,C,d,E ... Z和每一行代表一个事件。查找按时间戳排序的所有事件序列A,..,B,...,C的时间戳和ID,以便时间戳(C) - 时间戳(A)<阈值。
例如,考虑下表
| type | timestamp | id |
|------+-----------+-----|
| Z | 19:00 | 20 |
| A | 19:01 | 21 |
| | | |
| . | ... | .. |
| | | |
| A | 20:13 | 50 | *
| B | 20:14 | 51 | *
| D | 20:17 | 52 |
| C | 20:19 | 53 | *
| | | |
| . | ... | .. |
| | | |
| A | 22:13 | 80 | *
| D | 22:14 | 81 |
| B | 22:15 | 82 | *
| K | 22:16 | 83 |
| J | 22:17 | 84 |
| C | 22:19 | 85 | *
| | | |
| . | ... | .. |
| | | |
| A | 23:13 | 100 |
| B | 23:14 | 101 |
| C | 23:50 | 102 |
与Thresh的= 10分钟查询应沿着线产生的东西的行:
| A_id | B_id | C_id |
|------+------+------|
| 50 | 51 | 53 |
| 80 | 82 | 85 |
怎么看A,B的最后一个三重C不存在。最后一个A事件和最后一个C事件之间的时间距离大于Thresh。
我怀疑答案会是“如果你需要问这样的问题,MySQL不是正确的工具”。在那种情况下,后续是哪个数据库是处理这类任务的好候选者?
编辑:提供了一个示例
你能提供更好的例子吗?目前还不清楚你在问什么。看起来你可能会问如何找到一个行组合,其时间戳之间的差值小于某个值,但我不确定。 –
我编辑了我的问题 – fakedrake