0

我正在开发一个时间表时钟系统。用户在进入建筑物时记录他们的日期和时间,并在他们离开建筑物时记录下班时间。

诀窍是我需要以小时和分钟为单位计算当前的总 IN 时间。

所以,你有这种情况:

08:00
用户时钟输入 12:00 用户时钟输出
= 4 小时

12:30
用户时钟输入 13:30 用户时钟 OU
=1 小时

用户时钟在 16:00 输入
用户时钟在 18:30 输出
= 2 小时 30 分钟。

现在,我知道 MySQL 有一个HOUR(TIMEDIFF(t2,t1)) AS hour, MINUTE(TIMEDIFF(t2,t1)) AS minute功能,但不知道如何锻炼每个 IN-OUT 组合之间的间隔并忽略 OUT-IN,以便我得到一个 TOTAL 仅用于在现场或建筑物内花费的时间。

所以换句话说,不是来自第一个 IN 和最后一个 OUT。

提前致谢。

4

2 回答 2

0

更新:请尝试以下链接以获取您所需的场景:

SQL 小提琴

-- IN & OUT 在同一行时使用下面的代码 --

您可以使用以下查询以小时为单位计算数据:

select EMP ,sum(datediff(hour,cast([in] as datetime)
       ,cast([out] as datetime)) ) 
from table1
GROUP BY EMP

SQL 小提琴

于 2013-10-03T13:52:17.937 回答
0
SELECT TIMESTAMPDIFF(HOUR,'2002-05-01','2001-01-01');

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff

于 2013-10-03T11:38:09.027 回答