这里我有一个Leave表,其中包含AttendanceId(PK,incremental),EmpId,Check_In_Time,Check_Out_Time,Date列。每次员工登记和退房时间都将以日期时间格式保存。现在我希望每天获得每位员工的第一个“Check_In_Time”。我在SQL中尝试了一些分组,但它出错了。有什么建议吗?
答案 0 :(得分:4)
尝试:
select EmpId, Date, min(Check_In_Time) as Expr1
from Leave
WHERE EmpId = @EmpId
group by EmpId, Date
顺便说一下,使用关键字“Date”作为列名是不好的做法。
答案 1 :(得分:0)
选择min(Check_In_Time),DATEADD(dd,0,DATEDIFF(dd,0,GETDATE())作为日期,empId来自离开组by empId,DATEADD(dd,0,DATEDIFF(dd,0,GETDATE( )))