MySQL - SUM DateTime?

时间:2016-11-07 02:29:19

标签: mysql datetime

我需要求和日期时间值,但我不知道如何做到这一点。

我在桌子旁边:

enter image description here

我的疑问:

SELECT 
    SUM(h.dtplay) AS Time 
FROM 
    tblhistory AS h, 
    tblgame AS g 
WHERE 
    h.idgame = g.id AND 
    g.description = gameName;

但是,当我运行该查询时,我的结果是:

enter image description here

为什么不正确?

修改

我在表格中将日期时间格式更改为

enter image description here

所以,我需要总结时间值。

编辑2

正确的查询:

SELECT 
   SEC_TO_TIME(SUM(TIME_TO_SEC(h.DtPlay))) AS Time 
FROM 
   tblhistory AS h, 
   tblgame AS g 
WHERE 
   h.idgame = g.id AND 
   g.description = gameName;

感谢@Newbee Dev和@EhsanT:)

2 个答案:

答案 0 :(得分:9)

首先:将日期时间格式化为时间

Date_format(DtPlay, '%h:%i:%s')

然后将其转换为一秒钟

Time_to_sec(Date_format(DtPlay, '%h:%i:%s')

转换后,您现在可以将它们相加

Sum(Time_to_sec(Date_format(DtPlay, '%h:%i:%s'))

最后结果现已准备好,只需将其格式恢复为时间格式

SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( DtPlay ) ) ) FROM tblhistory

Sample Result

答案 1 :(得分:-1)

您能否提供一些有关您要做的事情的更多信息。因为我无法想象你想要多年的情景。 你得到的结果对我来说似乎是正确的,因为你可以分为秒,分钟,小时,天,月和年。