从一天的表格和特定的员工ID获取时间和停工时间

时间:2010-11-11 10:44:44

标签: sql-server

我有三列employeeID,intime和outtime。我想只获得第一个intime和最后一个时间。

表格结构:

EmployeeID          Intime                       OutTime                    1                2008-01-13 08:10:04.000         2008-01-13 09:03:42.000  
2                2008-01-13 09:10:04.000         2008-01-13 10:03:20.000    3                2008-01-13 08:10:05.000         2008-01-13 09:03:45.000    1                2008-01-13 10:10:04.000         2008-01-13 11:03:42.000    1                2008-01-13 12:10:04.000         2008-01-13 13:03:30.000  

我想要第一时间和最后一次外出时间

像 输出:

EmployeeID          Intime                       OutTime
1                2008-01-13 08:10:04.000         2008-01-13 13:03:30.000  

这是什么SQL查询。 请以书面形式提出查询。

由于

的Dinesh

2 个答案:

答案 0 :(得分:0)

此查询应该为您提供当前日期的第一个intime,最后一个outtime(您可以在where子句中使用任何日期而不是getdate()来获取任何其他日期的详细信息。)

Select employeeid, Min(Intime) as Intime, Max(Outtime) as OUttime 
from Yourtable
where CONVERT(VARCHAR(10),Intime,111) = CONVERT(VARCHAR(10),GETDATE(),111)  
group by employeeid

答案 1 :(得分:0)

一种方法是(假设OutTime总是与InTime在同一天):

SELECT employeeID, CONVERT(VARCHAR(10), Intime, 112) AS TheDate, MIN(Intime) AS InTime, MAX(OutTime) AS OutTime
FROM YourTable t
GROUP BY employee, CONVERT(VARCHAR(10), Intime, 112)