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了,我帮不了你。你需要发布另一个问题,描述你的情况,到目前为止你使用了什么代码,以及它的问题。我给了它一个类似的,希望更多的人会看到它