我的表中有一个名为“Time”的字段。我想计算总小时数。
Time 3:00:00 4:00:00 5:00:00
输出应为2小时。 我怎样才能做到这一点?请帮我解决一下。
我尝试了以下查询,但它没有按预期工作。
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `timeSpent` ) ) ) AS timeSum
FROM YourTableName
答案 0 :(得分:2)
如果您需要值之间的最大时间跨度,请尝试使用:
SELECT MAX(timeSpent) - MIN(timeSpent) FROM YourTableName
答案 1 :(得分:0)
假设您的表具有id作为主键自动增量,因此您将查询:
SELECT FLOOR(sum( abs( SEC_TO_TIME(TIME_TO_SEC(t1.`timeSpent`)) - SEC_TO_TIME(TIME_TO_SEC(t2.`timeSpent`)) )/10000)) as total
FROM YourTableName t1
inner join YourTableName t2
on t1.id = t2.id + 1;