2015-12-19 21 views
-1

喜荫开发出勤应用计算总工作时间,是在需要明智生成报告一个月的Web部件IAM。 报告的格式如下:如何在一年内使用两个时间从2个月的表明智

**Month** **Total Work Hour** 
October    10 
November    12 
December    30 

由于我是新来的SQL,我试图使用查询从表中总结的总工作时间:

SELECT TIME_FORMAT(SUM(
TIMEDIFF (b.`checkOut_Api_DateTime`, a.`check_In_ApiDateTime`)),'%H:%i:00') AS MONTH 
FROM `checkinlogtable` a,`checkoutlogtable` b WHERE a.`logId`=b.`checkIn_log_id` AND YEAR(a.`check_In_ApiDateTime`)=2015 

My Check In Table

My CheckOut Table

+1

问题是什么? –

回答

0

之前查找的每一个员工的时间差的总和,你有时间差转换成小时,然后计算总小时数(上述查询中缺少这部分)。 Mysql提供了一个函数TIME_TO_SEC()将提供的参数转换为秒。 看看mysql datetime函数的更多信息。

以下是查询。

SELECT TIME_FORMAT(SUM(TIME_TO_SEC(TIMEDIFF(b.`checkOut_Api_DateTime`, a.`check_In_ApiDateTime`))/3600),'%H:%i:00') AS MONTH 
FROM `checkinlogtable` a,`checkoutlogtable` b 
WHERE a.`logId`=b.`checkIn_log_id` AND YEAR(a.`check_In_ApiDateTime`)=2015 and a.employeeId='R374' 
+0

非常感谢,它有所帮助 –

相关问题