我有一个名为tbltimpunch
的表,其中包含以下列:
可以使用以下mysql创建:
CREATE TABLE tbltimpunch(
`employeeID` varchar(10),
`dateoftime` datetime,
`timein` time,
`timeout` time
);
如何获得员工的最后timein
或timeout
输入?
答案 0 :(得分:0)
这个怎么样?
SELECT employeeID, MAX(timein) AS lastIn, MAX(timeout) AS lastOut
FROM tbltimpunch
GROUP BY employeeID;
这将返回每个员工(包含表中数据)的行的结果集,以及他们的上次timein和超时值。
此解决方案可能更贴近您的目标:
SELECT t1.* FROM tbltimpunch t1
LEFT JOIN tbltimpunch t2 ON t1.employeeID=t2.employeeID
GROUP BY t1.employeeID, t1.dateoftime
HAVING t1.dateoftime=MAX(t2.dateoftime);
这将为每个具有最新dateoftime值的员工返回一行。
尝试小提琴,在这里:http://sqlfiddle.com/#!2/ca4f3/1/0