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
周六周日这里算做正常休息,但是你表里只能是一周的数据