Để cộng các giá trị TIME, chuyển từng giá trị sang giây bằng TIME_TO_SEC(), cộng dồn, rồi chuyển ngược lại bằng SEC_TO_TIME().
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable (
ArrivalTime TIME
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES('04:10:00');
mysql> INSERT INTO DemoTable VALUES('05:20:50');
mysql> INSERT INTO DemoTable VALUES('06:40:10');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+-------------+ | ArrivalTime | +-------------+ | 04:10:00 | | 05:20:50 | | 06:40:10 | +-------------+
Tính tổng thời gian:
mysql> SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ArrivalTime))) FROM DemoTable;
Kết quả
+-------------------------------------------------+ | SEC_TO_TIME(SUM(TIME_TO_SEC(ArrivalTime))) | +-------------------------------------------------+ | 16:11:00 | +-------------------------------------------------+
Giải thích: TIME_TO_SEC('04:10:00') = 15000, cộng cả 3 = 58260 giây, SEC_TO_TIME(58260) = '16:11:00'. Kết quả có thể vượt quá 24h (MySQL TIME hỗ trợ đến 838:59:59).