Usar:
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
Pasos:
- Utilice TIME_TO_SEC para convertir TIME a segundos para operaciones matemáticas
- Suma la diferencia
- Utilice SEGUNDOS_A_HORA para convertir los segundos a HORA
Según los datos de muestra, solo habría sugerido:
SELECT t.user_id,
TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
FROM MYTABLE t
GROUP BY t.user_id