包含"持续时间"的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
我需要总持续时间。即"持续时间" HH中的专栏:MM:SS。
对列进行求和会产生" 134000"。
SELECT sum(`duration`) FROM `my_table`
如何以HH:MM:SS格式对持续时间列求和?
答案 0 :(得分:2)
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(`duration`)));
TIME_TO_SEC
- 将datetime
转换为秒。那么你案件中的SUM
将是54000
SEC_TO_TIME
- 将其转换回日期时间格式<强>输出强>
15:00:00