查询问题???请教
id 姓名 部门 考勤日期 上班时间 下班时间 迟到 早退 旷工 休假 考勤年份 考勤月份
1 李刚 财务部 2007-3-7 08:10 17:30 否 否 否 否 2007 3
2 张三 财务部 2007-3-7 08:40 17:30 是 否 否 否 2007 3
3 王五 财务部 2007-3-7 08:10 16:30 否 是 否 否 2007 3
4 AAA 销售部 2007-3-7 08:10 17:30 否 否 否 否 2007 3
5 BBB 销售部 2007-3-7 08:40 17:30 是 否 否 否 2007 3
6 CCC 销售部 2007-3-7 08:10 16:30 否 是 否 否 2007 3
7 AAA 销售部 2007-3-8 08:10 17:30 是 否 否 否 2007 3
8 BBB 销售部 2007-3-8 08:40 17:30 是 否 否 否 2007 3
9 CCC 销售部 2007-3-8 08:10 16:30 否 是 否 否 2007 3
如何根据部门和年月查询出这样的结果
序号 姓名 迟到次数 早退次数 旷工次数 休假次数
1 AAA 1 0 0 0
2 BBB ...
3 CCC ...
[解决办法]
try:
select
姓名,
sum(case 迟到 when '是 ' then 1 else 0 end ) as 迟到次数,
sum(case 早退 when '是 ' then 1 else 0 end ) as 早退次数,
sum(case 旷工 when '是 ' then 1 else 0 end ) as 旷工次数,
sum(case 休假 when '是 ' then 1 else 0 end ) as 休假次数
from
表
where
部门= 'xxxx '
and
考勤年份=xx
and
考勤月份=xx
group by
姓名