我有一个具有以下字段自联接提取事件表中的相关记录?
Time | Status
2016-01-21 16:11:00 | Connected
2016-01-21 16:51:00 | Disconnected
2016-01-21 17:01:00 | Connected
2016-01-21 17:10:00 | Status X
2016-01-21 17:20:00 | Status Y
2016-01-21 17:25:00 | Disconnected
2016-01-21 17:30:00 | Connected
2016-01-21 17:32:00 | Disconnected
我想要的输出是这样
Disconnected Connected
2016-01-21 16:51:00 | 2016-01-21 17:01:00
2016-01-21 17:25:00 | 2016-01-21 17:30:00
2016-01-21 17:32:00 |
等的表。也就是说,我想,以显示与服务器断开连接时的数据。
我写这样
select B.Time, A.Time
from (select Time
from table
where Status = 'Connected') as A, table B
where B.Status = 'Disconnected'
and B.Time < A.Time;
我输出查询
Disconnected Connected
2016-01-21 16:51:00 2016-01-21 17:01:00
2016-01-21 16:51:00 2016-01-21 17:30:00
也就是说,我让所有的相关事件比它更大的每个断开连接的事件。不过,我想只不是每一行断开事件时,第一连接的事件。我能做什么?