我是SQL的初学者。我有一张像这样的出席表:
ID - EID ---- PunchIn -------------------- POut
1 --- 101 -----'2012-05-01 07:30:00'-----'2012-05-01 10:00:00'
2 --- 101 -----'2012-05-01 13:30:00'-----'2012-05-01 19:00:00'
3 --- 102 -----'2012-05-01 07:45:00'-----'2012-05-01 17:30:00'
4 --- 103 -----'2012-05-01 08:00:00'-----'2012-05-01 18:30:00'
如何编写将生成如下内容的查询:
ID - EID ---- PunchIn -------------------- POut
1 --- 101 ----- '2012-05-01 07:30:00'-----'2012-05-01 19:00:00'
3 --- 102 -----'2012-05-01 07:45:00'-----'2012-05-01 17:30:00'
4 --- 103 -----'2012-05-01 08:00:00'-----'2012-05-01 18:30:00'
谢谢
答案 0 :(得分:0)
嗯,我不确定,但是如果你只是想要删除关于同一日期和同一个人的所有打击,那么你可以使用一个组,因此,如果表名是PUNCHES:
SELECT ID, EID, MIN(PunchIn), MAX(POut)
FROM PUNCHES
GROUP BY ID, DATE(PunchIn);
答案 1 :(得分:0)
SELECT ID, EID, MIN( PunchIn ) , MAX( POut )
FROM PUNCHES
GROUP BY EID
你可以试试这个。