我正在开发一个时间表时钟系统。当用户从建筑物中走出时,他们会记录他们进入建筑物和场外的日期和时间。
技巧是我需要以小时和分钟计算当前的总IN时间。
所以,你有这种情况:
用户时钟IN在08:00用户时钟OUT在12:00
= 4小时
用户时钟IN在12:30用户时钟OU在13:30
= 1小时
用户时钟IN在16:00用户时钟OUT在18:30
= 2小时30分钟。
现在,我知道MySQL有一个HOUR(TIMEDIFF(t2,t1)) AS hour, MINUTE(TIMEDIFF(t2,t1)) AS minute
功能,但不知道如何训练每个IN-OUT组合之间的时间间隔并忽略OUt-IN,这样我就可以获得一个TOTAL,仅用于在网站上花费的时间或在大楼里。
换句话说,不是来自第一个IN和最后一个OUT。
提前致谢。
答案 0 :(得分: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
答案 1 :(得分:0)
更新:请针对您所需的方案尝试以下链接:
<强> SQL FIDDLE 强>
- 以下代码用于IN&amp; OUT在同一行 -
您可以使用以下查询以小时计算数据:
select EMP ,sum(datediff(hour,cast([in] as datetime)
,cast([out] as datetime)) )
from table1
GROUP BY EMP
<强> SQL FIDDLE 强>