Php 如何在MYSQL中参照签入和签出时间获取日期和时间的总工作时数

Php 如何在MYSQL中参照签入和签出时间获取日期和时间的总工作时数,php,mysql,Php,Mysql,下表显示了员工的签入和签出时间 Emp_id report_date report_time 11 2014-12-01 08:02:31 21 2014-12-01 08:13:04 11 2014-12-01 18:03:41 21 2014-12-01 16:36:02 您需要将时间值转换为秒检查此帖子: 我将与您分享一个工作代码,但重要的是您要了解它是如何工作的 SELECT `Emp_id`, `report_date`, min(`rep

下表显示了员工的签入和签出时间

Emp_id report_date report_time 

 11     2014-12-01 08:02:31
 21     2014-12-01 08:13:04
 11     2014-12-01 18:03:41
 21     2014-12-01 16:36:02

您需要将时间值转换为秒检查此帖子:

我将与您分享一个工作代码,但重要的是您要了解它是如何工作的

SELECT `Emp_id`, `report_date`, min(`report_time`) AS chekin, 

max(`report_time`) AS chekout,

( (TIME_TO_SEC(TIMEDIFF(max(`report_time`), min(`report_time`))) / 60) / 60) difference


FROM `your_table` WHERE 1 GROUP BY `Emp_id`, `report_date`

首先,按员工id和报告日期分组,这样每个id在不同的日期都有一行。然后选择员工在给定日期的最短时间和最长时间。然后以秒为单位计算时差,除以60以分钟为单位,再除以60以小时为单位。

你有代码要显示吗?@Adrian Cid Almaguer。。我没有代码。如果你没有代码,那么我们就没有解决方案。我们在这里不是免费工作:Remember@helloworld..I我正在从thumb reader的文本文件中提取数据。因为没有单独的签入和签出字段。Emp_id report_date report_time 11 2014-12-01 08:02:31 21 2014-12-01 08:13:04 11 2014-12-01 18:03:41 21 2014-12-02 16:36:02@helloworld如果他第二天结账,我就找不到diff了,我帮不了你。你需要发布另一个问题,描述你的情况,到目前为止你使用了什么代码,以及它的问题。我给了它一个类似的,希望更多的人会看到它