我显示用户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 - mysql:计算通过sql创建的列的总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52544042/