mysql:计算通过sql创建的列的总和

标签 mysql

我显示用户 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) 

结果 IMAGE

所以我想变得像
总和 = =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/

相关文章:

mysql - 获取mysql两个表的数据

mysql - 我需要帮助删除新插入的行

php - 全日历 :- On load events time is not correct

mysql - 对通过连接表连接的另一个表中的连续行进行分组

sql - 从 2 个表中计算高分排名

php - 更新 id = $GET ['id' ]

mysql - 如何: Find and update all the entries where the value in one column shows up more than once

javascript - mySQL 没有将数组返回到 angularJS 中

mysql multiple Insert where select many column from another table

mysql - 有没有一种方法或技术可以实现基于用户的数据库资源分配?