数据类型和总和持续时间

时间:2018-04-02 14:32:05

标签: mysql datetime time sum

我拥有的:

包含"持续时间"的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格式对持续时间列求和?

1 个答案:

答案 0 :(得分:2)

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(`duration`)));
  

TIME_TO_SEC - 将datetime转换为秒。那么你案件中的SUM将是54000

     

SEC_TO_TIME - 将其转换回日期时间格式

     

<强>输出

     

15:00:00