Usa:
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
Passi:
- Usa TIME_TO_SEC per convertire TIME in secondi per operazioni matematiche
- Somma la differenza
- Usa SEC_TO_TIME per riconvertire i secondi in TIME
Sulla base dei dati di esempio, avrei appena suggerito:
SELECT t.user_id,
TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
FROM MYTABLE t
GROUP BY t.user_id