我目前正在做一个使用vb.net和mysql数据库的项目,我只想问一下,我怎样才能在mysql工作台中格式为hh:mm:sec的列中汇总2个或更多的时间条目。
例如,我将以下数据存储在我的数据库中:
|03:45:00|
|03:12:00|
|03:08:57|
样表
总计应为10:05:02
我尝试使用这个查询对整个列数据求和,但我认为我做错了。
Select sum(Hours_worked) as Total
from db_project
where
Date_of_entry between '2019-02-04' and '2019-02-15'
order by
Date_of_entry asc;
发布于 2019-02-22 06:05:38
您不能使用SUM
直接将时间值彼此相加。相反,您需要将它们转换为可以求和(数字)的值,例如使用TIME_TO_SEC
。然后,可以将总和转换回时间格式(使用SEC_TO_TIME
和TIME_FORMAT
)以供显示:
SELECT TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(Hours_worked))), '%H:%i:%s') AS Total
FROM db_project
WHERE Date_of_entry BETWEEN '2019-02-04' AND '2019-02-15'
输出:
10:06:02
https://stackoverflow.com/questions/54815952
复制相似问题