SQL Datetime选择特定日期的最小值

时间:2017-04-28 18:46:30

标签: sql sql-server-2012

enter image description here

我需要从DateTime列中选择特定日期的最小值 - 而不是当前日期 - 今天。该数据库是SQL Server 2012。

列包含员工卡刷卡数据。每次刷卡时,都会在DateTime列中输入一个条目。我想找到进出时间。使用MAX(Datetime)可以轻松完成OUT时间。但InTime我无法选择当天。有些员工有多次滑动。我想要第一次滑动当前日期。

任何帮助表示感谢。

SELECT   
    em.EmployeeCode, em.FirstName, em.LastName,
    (SELECT DISTINCT [aDateTime]
     FROM [Transactions] 
     ORDER BY [aDateTime] DESC
     OFFSET (1) ROWS FETCH NEXT (1) ROWS ONLY) AS InTime,
    CONVERT(VARCHAR(8), MAX(t.aDateTime), 108) AS OutTime, 
    CONVERT(VARCHAR(12), MAX(aDateTime), 103) AS Date
FROM
    EmployeeMaster em
INNER JOIN 
    EmployeeFunctionCards ef ON em.EmployeeMasterID = ef.EmployeeMasterID 
INNER JOIN 
     Transactions t ON ef.EmployeeFunctionCardID = t.EmployeeFunctionCardID
WHERE
    t.EventCode = '1' 
GROUP BY
    em.EmployeeCode, em.FirstName, em.LastName

0 个答案:

没有答案