mysql根据字段值取字段别名

饭fan有引力 2013-02-11 01:20:54
建一个学生缺勤表,其中有一个字段是缺勤状态status,取值为0-5,分别代表旷课、早到、迟到、病假、事假、公假。

----------------------------------此为背景-----------------------------------------

现在想做这样一个查询,将不同类型的缺勤状态的人数给查询出来。希望最终查询出的结果如下:



请问要如何查询出来。
...全文
1168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小白菜白呦白 2013-02-17
  • 打赏
  • 举报
回复
是啊 但是不要只是抄袭 想明白为什么这么写 说白了 就是 用 as 把 缺勤状态的数值翻译成 具体旷课类别的文字说明 case when 意图就是 如果查不到数据就设置成0
饭fan有引力 2013-02-11
  • 打赏
  • 举报
回复
完美解决,感谢楼上两位! 数据库学的好省了很多事啊
rucypli 2013-02-11
  • 打赏
  • 举报
回复
用楼上的case when
dong_y888 2013-02-11
  • 打赏
  • 举报
回复
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  系别

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧