mysql查询连续一周出勤人员名单

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:03:24
声明一下哦,我是在询问知识点,不是实际操作中遇到的问题。

写出mysql语句,找出本周考勤表中连续5天出勤的人员名单

例:

date name onduty
周一 a yes
周一 b yes
周一 c no
周二 a yes
周三
周四
周五
(为了使得问题更形象,构想出的一个表,仅作参考用)
这样写也可以
select name,count(*)
from table
where onduty="yes"
group by name
having count(*)=5

select a.name,count(*)
from (
select *
from 表
where onduty = no) a
group by name
having count(*) = 5

原理说明:
1.取出所有缺勤记录作为a表
2.取出a表中缺勤次数为5的(因为没有重复记录不会1个人1个礼拜出现5次以上的出勤情况)

select name from 表 where onduty ='yes' group by name having count(name)=5

周六周日这里算做正常休息,但是你表里只能是一周的数据