【发布时间】:2021-01-12 06:51:05
【问题描述】:
我一直在努力写这个查询,我想我今晚的大脑有点炸了。我有这张表可以存储一个人执行某个操作(打卡、打卡、午餐、午餐回来)的时间,并且我需要返回最后一个操作不是时钟输出的人的所有主 ID 的列表 - 但是问题是它需要稍微快一点的查询。
表结构:
ID | person_id | status | datetime | shift_type
ID = 此表的主键
person_id = 如果他们的状态不等于clock_out,我想返回的ID
状态 = 时钟输入、午餐开始、午餐结束、休息开始、休息结束、时钟输出
datetime = 添加记录的时间
shift_type = 不重要
我之前执行此查询的方式是查找在特定时间段内仍在打卡的人,但是我需要此查询来定位任何时间点。我正在尝试的查询占用了成千上万条记录,并且速度太慢了。
【问题讨论】:
标签: mysql sql datetime greatest-n-per-group window-functions