Để tính tổng thời gian trong MySQL, dùng kết hợp TIME_TO_SEC() và SEC_TO_TIME().
Tạo bảng:
mysql> CREATE TABLE AddTotalTimeDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> LoginTime TIME
-> );
Chèn dữ liệu:
mysql> INSERT INTO AddTotalTimeDemo(LoginTime) VALUES('05:05:00');
mysql> INSERT INTO AddTotalTimeDemo(LoginTime) VALUES('07:20:00');
mysql> INSERT INTO AddTotalTimeDemo(LoginTime) VALUES('02:05:00');
mysql> INSERT INTO AddTotalTimeDemo(LoginTime) VALUES('03:03:00');
mysql> INSERT INTO AddTotalTimeDemo(LoginTime) VALUES('05:07:00');
Hiển thị dữ liệu:
+----+-----------+ | Id | LoginTime | +----+-----------+ | 1 | 05:05:00 | | 2 | 07:20:00 | | 3 | 02:05:00 | | 4 | 03:03:00 | | 5 | 05:07:00 | +----+-----------+
Truy vấn tính tổng:
mysql> SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(LoginTime))) AS TotalTime FROM AddTotalTimeDemo;
Kết quả:
+-----------+ | TotalTime | +-----------+ | 22:40:00 | +-----------+
Giải thích: TIME_TO_SEC chuyển time thành giây, SUM cộng tổng, SEC_TO_TIME chuyển ngược lại định dạng time.