Verweildauer

grzesiu96

Grünschnabel
MySQL - Verweildauer berechnen

MySQL:

Ich habe eine einfache Tabelle "access" mit folgenden Feldern
id (integer)
zeit (time)
aktion (varchar)

es wird dort mit zeitlich fortlaufender id gespeichert, zu welcher Zeit welche Aktion durchgeführt wurde,
also z.B.

id=1 zeit=10:00:00, aktion=aufgabe1
id=2 zeit=10:05:00, aktion=aufgabe2
id=3 zeit=10:15:00, aktion=aufgabe3
id=4 zeit=10:20:00, aktion=ende

Das Ziel der Abfrage ist es nun, die Verweildauer bei einer Aufgabe zu berechnen und dann folgendes rauszukriegen:
id=1 dauer=differenz zeit(id2),zeit(id1), aktion=aufgabe1
id=2 dauer=differenz zeit(id3),zeit(id2), aktion=aufgabe2
id=3 dauer=differenz zeit(id4),zeit(id3), aktion=aufgabe3

Wie könnte man das am schnellsten realisieren ? Irgendwie die Tabelle mit "sich selbst" joinen, aber wie konkret,
ich hab folgendes versucht:

SELECT A.id, A.aktion, timediff(B.zeit,A.zeit) AS dauer
FROM access A LEFT JOIN access B
ON
A.idnr = B.idnr

kommt aber nix raus, also alles 0 als Ergebnis, ich vermute es liegt am "ON ..."

und wie könnte man zusätzlich noch bei der Ausgabe die letzte Aktion, also Ende "löschen" ?
mit Limit ? also zuerst die Anzahl aller Datensätze bestimmen und die Ausgabe dann mit -1 als Limit setzen ?

Gruß
Michael
 
Zuletzt bearbeitet:
Zurück