SELECT SUM(render) AS total FROM mytable
这是我的代码,用于获得所有渲染小时的总和。但结果是,例如,我有04:30:00和03:15:00,然后输出变成074520,但我希望它像7.75小时
在MySQL中有一种方法:
SELECT
SUM(HOUR(render) * 60.0 + MINUTE(render)) / 60.0 AS TotalHours
FROM mytable
表达式HOUR(render) * 60.0 + MINUTE(render)
将time
的值转换为分钟数,我们将其相加以获得总数。
如果需要,可以将SECOND()
添加到公式中以获得更精确的答案。
如果您想在MySQL中对时间类型求和,请使用:
select sum(time_to_sec(render))
from mytable;
这将时间转换为秒值,并对值求和。然后,如果您想将其转换回另一种格式,请转换秒:
select sum(time_to_sec(render)) / (60 * 60) as decimal_hours,
sec_to_time(sum(time_to_sec(render))) as time_format
MySQL不直接求和时间值。它将把它们转换成HHMMSS形式的数字。所以,00:00:55
就是55
。如果将其添加到自身,则会得到110
,这与00:01:50
无关。