Mysql SUM() TIME 格式错误

标签 mysql time sum

我正在使用 SUM() 计算同一个表中两列的总和,但最终结果是一个整数 (286676)。我猜这是毫秒?如何转换为 TIME(00:00:00)?

数据库

id|hours_worked | hours_worked_wk2 |

hours_worked = 14:33:38 hours_worked_wk2 = 14:33:38

查询

SELECT *,SEC_TO_TIME(SUM(TIME_TO_SEC(ep.hours_worked)))+SEC_TO_TIME(SUM(TIME_TO_SEC(ep.hours_worked_wk2))) 
AS TotalHoursWorked 
FROM employeepayroll ep 
JOIN employees em ON ep.employee_id=em.employee_id 
JOIN payroll p ON ep.payroll_id=p.payroll_id 
JOIN payrolltaxes pt ON ep.payroll_id=pt.payroll_id 
WHERE ep.timesheet_status='Approved' AND p.pay_group='26' 
ORDER BY ep.payroll_id DESC 

TotalHoursWorkd = 286676

最佳答案

使用以下公式。

hours = cast(duration_in_milliseconds \ (60 * 60 * 1000) as int)  
mins = (duration_in_milliseconds \ (60 * 1000)) mod 60  
secs = (duration_in_milliseconds \ 1000) mod 60  

您的查询将如下所示:

select cast(duration_in_milliseconds\(60*60*1000) as int)+':'((duration_in_milliseconds \ (60*1000)) mod 60;)+':'((duration_in_milliseconds \ 1000) mod 60) from something

关于Mysql SUM() TIME 格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43265240/

相关文章:

java - 一个线程计时比其他线程快

python - 如何将其转换为日期时间

python - Python定义二维数组的耗时

mysql - 我寻找最畅销产品的搜索没有返回预期的结果

对多个数据帧进行排序并在 R 中对它们求和

mysql - 轮询和处理 mysql 表中待处理记录的不同方法

mysql - 如何在 SQL 中删除重复(两行的混合)行?

php - WordPress 搜索查询不起作用

sql - 为什么在 MySQL 中使用外键约束?

mysql - 根据同一个 mysql 表中的 id 添加点列