我有一张这样的桌子
swipe_details
EMPID EVENT_TYPE Swipe_time
1 EN 2012-06-01 12:00
1 EX 2012-06-01 12:30
2 EN 2012-06-01 12:50
1 EN 2012-06-01 13:10
2 EX 2012-06-01 13:30
2 EN 2012-06-01 14:00
2 EX 2012-06-01 19:00
1 EX 2012-06-01 19:30
它基本上存储了员工的刷卡细节(其中 EN 是“刷入”,EX 是“刷出”)
我想找出在给定时间范围内在办公室花费最多时间的 EMPID。所以我的输入将是开始时间和结束时间(例如:2012-06-01 12:30 和 2012-06-05 18:30)。
请注意这三个条件:
可能有员工在时间框架之前进入办公室。在这种情况下,我们必须将滑动视为该员工时间范围的开始。
对于在时间范围之后退出的员工,刷出时间将是时间范围的结束。
如果有员工的刷入时间小于时间范围并且刷出时间大于时间范围,则所有这些 empID 都应显示为结果
最好的方法是什么?是否可以使用单个查询?