建一个学生缺勤表,其中有一个字段是缺勤状态,取值为0-5,分别代表旷课、早到、迟到、病假、事假、公假。
现在想做这样一个查询,将不同类型的缺勤状态的人数给查询出来。希望最终查询出的结果如下:
系别 旷课人数 迟到人数 早退人数 病假人数 事假人数 公假人数
计算机科学系 5 3 5 2 1 0
请问要如何查询出来。
利用group by语句
`select 系别,sum(case when 缺勤状态=0 then 1 else 0 end) as 旷课人数,
sum(case when 缺勤状态=1 then 1 else 0 end) as 早退人数,
sum(case when 缺勤状态=2 then 1 else 0 end) as 迟到人数,
sum(case when 缺勤状态=3 then 1 else 0 end) as 病假人数,
sum(case when 缺勤状态=4 then 1 else 0 end) as 事假人数,
sum(case when 缺勤状态=5 then 1 else 0 end) as 公假人数
from 学生缺勤表
group by 系别`
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。