Ich habe eine Tabelle, die die folgenden FelderSelf-Join, um verwandte Datensätze aus der Ereignistabelle zu extrahieren?
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
ich die Ausgabe wie diese
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 |
und so weiter sein wollen hat. Das heißt, ich möchte die Daten für den Server getrennt anzeigen.
ich geschrieben habe eine Abfrage wie diese
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;
Meine Ausgabe ist
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
, dass für jedes nicht verbundene Ereignis erhalte ich alle verbundenen Ereignisse größer ist als es. Ich möchte jedoch nur das erste verbundene Ereignis größer als das getrennte Ereignis für jede Zeile. Was kann ich tun?