我的表中有一个名为"Time"的字段。我想计算总小时数。
时间3:004:005:00:00
输出应为2小时。我怎样才能做到这一点?请帮我解决它。
我尝试了下面的查询,但并没有按预期工作。
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `timeSpent` ) ) ) AS timeSum
FROM YourTableName
如果您需要值之间的最大时间跨度,请尝试使用:
SELECT MAX(timeSpent) - MIN(timeSpent) FROM YourTableName
假设您的表有一个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;