我有什么:
由“持续时间”列组成的 MySQL 表。
05:00:00
00:30:00
00:30:00
00:15:00
01:45:00
00:30:00
01:30:00
02:30:00
01:00:00
01:30:00
数据类型:
我第一次使用 TIME,但根据我的研究,TIME 是用于存储时间点而不是持续时间。 TIME 也有一个限制,即它不能超过 23 小时。
我选择了 DATETIME 数据类型。我的专栏现在如下所示:
0000-00-00 05:00:00
0000-00-00 00:30:00
0000-00-00 00:30:00
0000-00-00 00:15:00
0000-00-00 01:45:00
0000-00-00 00:30:00
0000-00-00 01:30:00
0000-00-00 02:30:00
0000-00-00 01:00:00
0000-00-00 01:30:00
总和:
我需要总持续时间。 IE。 “持续时间”列的总和,格式为 HH:MM:SS。
对该列求和得出“134000”。
SELECT sum(`duration`) FROM `my_table`
我的问题:
如何以 HH:MM:SS 格式对持续时间列求和?
最佳答案
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(`duration`)));
TIME_TO_SEC
- will convertdatetime
to seconds. Then theSUM
in your case will be 54000
SEC_TO_TIME
- convert it back to datetime formatOutput
15:00:00
关于mysql - 数据类型和总持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613202/