我显示用户 1 每天的第一个和最后一个日志,
我计算了第一个和最后一个日志之间的时间差。
所以我想要的是计算时间差的总和
总和
这是我运行的
SELECT id,device,userid,time, MIN(time) as Min, MAX(time) as Max, TIMEDIFF(MAX(time), MIN(time)) as total
FROM records WHERE userid='1' GROUP BY DATE(time)
所以我想变得像
总和 = =25:31:47
最佳答案
- 您可以在 Derived table 中使用您当前的查询结果并计算总和。
- 此外,您需要先使用 TIME_TO_SEC() 将时间转换为秒函数,在执行
SUM
之后,您需要使用SEC_TO_TIME() 将其重新转换回时间。功能。
尝试以下操作:
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC(derived_t.total) ) ) AS total_time_diff
FROM
(
SELECT TIMEDIFF(MAX(time), MIN(time)) as total
FROM records
WHERE userid='1'
GROUP BY DATE(time)
) AS derived_t
关于mysql:计算通过sql创建的列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544042/