Använd:
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
Steg:
- Använd TIME_TO_SEC för att konvertera TID till sekunder för matematisk operation
- Summera skillnaden
- Använd SEC_TO_TIME för att konvertera sekunderna tillbaka till TIME
Baserat på exempeldata skulle jag bara ha föreslagit:
SELECT t.user_id,
TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
FROM MYTABLE t
GROUP BY t.user_id