我正在研究我所拥有的一些原始数据。数据位于MySQL数据库中。数据列表以毫秒到毫秒的格式列出了当前正在发生的许多可能“事件”中的哪一个。它只有几列:
我想要做的是获取有关这些数据的一些基本信息。具体来说,我想创建一个包含以下内容的表:
我知道使用PHP很容易处理,只需在所有记录中使用一个简单的循环,但我试图在这里突破我的MySQL知识的界限(这可能很危险,我知道!!)。
所以,我的问题是:光标是最好用的吗?我问,因为事件可能会多次发生,所以做一些像事件类型分组的东西是行不通的 - 或者它会不会发生?我只是想知道是否有一种巧妙的处理方法,我已经错过了,而不需要按顺序遍历每一行。
谢谢!
答案 0 :(得分:1)
为了演示我之前评论过的内容,请说明您有以下表格:
event_log
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
start DATETIME
event VARCHAR(255) # or whatever you want for datatype
收集此信息非常简单:
SELECT el.*,
(SELECT el_j.start # -
FROM event_log el_j # |
WHERE el_j.id > el.id # |- Grab next row based on the next ID
LIMIT 1) as end # -
FROM event_log
ORDER BY start;