Sử dụng:
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
Các bước:
- Sử dụng TIME_TO_SEC để chuyển TIME thành giây cho phép toán
- Tính tổng số tiền chênh lệch
- Sử dụng SEC_TO_TIME để chuyển đổi giây trở lại TIME
Dựa trên dữ liệu mẫu, tôi vừa đề xuất:
SELECT t.user_id,
TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
FROM MYTABLE t
GROUP BY t.user_id