Използвайте:
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
Стъпки:
- Използвайте TIME_TO_SEC за преобразуване на ВРЕМЕТО в секунди за математическа операция
- Сложете разликата
- Използвайте SEC_TO_TIME за да преобразувате секундите обратно във TIME
Въз основа на примерните данни, току-що бих предложил:
SELECT t.user_id,
TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
FROM MYTABLE t
GROUP BY t.user_id