我有一个名为tbl_A
的表,其架构如下:
插入后,我在tbl_A
中有以下数据:
现在的问题是如何为以下场景编写查询:
在连续三天在场的员工面前
将(0)置于连续三天未到场的员工面前
输出屏幕拍摄:
我认为我们应该使用用例声明,但是我无法从日期起连续检查三天。我希望我能在这方面得到帮助
谢谢你
最佳答案
select name, case when max(cons_days) >= 3 then 1 else 0 end as presence
from (
select name, count(*) as cons_days
from tbl_A, (values (0),(1),(2)) as a(dd)
group by name, adate + dd
)x
group by name
关于sql - 检查员工是否连续三天在场,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48159989/