Hello,
ok, das Ganze ist eine Art "Gruppenwechsel".
Ob man das nun sinnvoll mit einer DB-Abfrage lösen kann, weiß ich noch nicht.
Dazu würde mir dann aber auf jeden Fall einfallen:
- Benutzerdefinierte Variablen
(- Gruppierung) - Filtern nach Service
- Sortierung nach Datum und Zeit
Allgemein benötigt man:
- auszuwertender Service
- aktueller Zustand bei Beginn
- kumulierte Zeit pro Status
*---------------------------------
Datei nach Datum und Zeit sortiert!
(alte Zeit) = Startzeit
n = aktiver Status
| -> nächster Datensatz
| Status[n] += (neue Zeit) - (alte Zeit)
| n = neuer Status
| (alte Zeit) = (neue Zeit)
Ergebnisse aus Status[x] auslesen
*---------------------------------
| = solange nicht am Ende der Datei
Mehr sollte da nicht nötig sein.
Ich denke, dass das bei MySQL mit einer Abfrage-Gruppe pro Service am übersichtlichsten ginge.
Schau Dir mal die Arbeit mit benutzerdefinierten Variablen an.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg