2013-10-03 186 views
0

我正在开发时间表计时系统。当用户登录建筑物时,用户记录他们的日期和时间,以及他们在建筑物外出时的日期和时间。计算时钟输入和输出时间戳之间的小时和分钟

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

所以,你有这样的场景:

用户在08:00
用户时钟OUT IN时钟在12:00
=4小时

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

用户时钟在16:00
用户时钟OUT 18:30
= 2小时30分钟。现在

,我知道,MySQL有一个HOUR(TIMEDIFF(t2,t1)) AS hour, MINUTE(TIMEDIFF(t2,t1)) AS minute功能,但不知道如何锻炼每个IN-OUT的组合,而忽略了-IN,这样我一共拿到了唯一一次花费在站点之间的间隔或在建筑物内。

换句话说不是从第一个IN和最后一个OUT。

在此先感谢。

回答

0

更新:请尝试以下链接为您所需的方案:

SQL FIDDLE

- 下面的代码将被使用时,& OUT都在同一行 -

您可以使用下面的曲线ERY以小时计算的数据:

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

SQL FIDDLE

+1

谢谢你输入我很感激。但是,我的表结构如下:ID | date_stamp | user_id |行动。所以典型的你可以想象下面的记录行:12 | 2013-10-04 08:00:00 | IN,然后在NEXT行中输出相应的OUT。所以我没有在同一行上的IN和OUT列。 :)这就是棘手的问题。 – MackieRSA

相关问题