【发布时间】:2017-11-28 07:48:34
【问题描述】:
我的数据库中有这样的事件数据:
time | obj | type
-------------------
0012 23 start
0014 24 start
0023 25 start
0034 23 end
0056 26 start
0058 23 start (reusing obj 23)
0060 25 end
0100 24 end
0101 23 end
0107 26 end
...
我想按开始事件时间排序,然后是同一对象的结束事件:
time | obj | type
-------------------
0012 23 start
0034 23 end
0014 24 start
0100 24 end
0023 25 start
0060 25 end
0056 26 start
0107 26 end
0058 23 start
0101 23 end
...
到目前为止,我还没有想出一个 SQL 查询来输出这样的数据。当然,我可以只查询所有开始事件,然后在每行查询之后从我的 C API 中查询相应的结束事件,但是我有多个 10.000 个结束事件,这似乎效率很低。
编辑:对不起,当我第一次问这个问题时,我忘了提到可以重复使用 obj 编号(并且有一个唯一的 id 行),我现在更新了示例。
有什么想法吗?
【问题讨论】:
标签: mysql performance sorting events alternate