Verwendung:
SELECT t.user_id,
SEC_TO_TIME(SUM(TIME_TO_SEC(t.endtime) - TIME_TO_SEC(t.starttime))) AS timediff
FROM MYTABLE t
GROUP BY t.user_id
Schritte:
- Verwenden Sie TIME_TO_SEC um TIME für mathematische Operationen in Sekunden umzuwandeln
- Summieren Sie die Differenz
- Verwenden Sie SEC_TO_TIME um die Sekunden wieder in TIME umzuwandeln
Basierend auf den Beispieldaten hätte ich nur vorgeschlagen:
SELECT t.user_id,
TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
FROM MYTABLE t
GROUP BY t.user_id