为了测试目的,我的表格记录了某些到达和离开(预订类型=“到达”或“离开”)。
让我们假设结构是:
ID (PK), RFID, Date, Time, Booking type我想知道是谁忘记在某一日期登记他/她最后一次离开。
我的想法是找出最后一个(最高的ID?)每个RFID (人员)的预订等于‘离开’。
有人愿意给我个提示吗?
提前感谢
编辑:使用数据的示例
1,12345,20.05.2018,10:00,抵达 2,44444,20.05.2018,10:30,抵达 3,12345,20.05.2018,14:00,出发 4,44444,20.05.2018,15:00,出发 5,44444,20.05.2018,16:00,抵达 6,12345,20.05.2018,17:00,抵达 7,44444,20.05.2018,19:00,出发
用户12345忘了记录他当天的“最后”离开。我希望他/她能被展示出来(就像我想为其他目的输送输出一样)。
发布于 2018-05-25 10:06:11
如果您只想知道每个用户一天中的最后一个条目是否是一个离开项,那么您可以尝试如下:
SELECT t1.RFID
FROM yourTable t1
INNER JOIN
(
SELECT RFID, MAX(Time) AS max_time
FROM yourTable
WHERE Date = '2018-05-20'
GROUP BY RFID
) t2
ON t1.RFID = t2.RFID AND t1.Time = t2.max_time
WHERE
t1.Date = '2018-05-20'
t1.booking_type = 'arrival';这里的策略是在给定的一天内隔离每个用户的最新记录,然后检查该记录的预订类型。
https://stackoverflow.com/questions/50525945
复制相似问题