今天接到已经上班的MM一个问题,说遇到了SQL语句比较复杂,问了周边的开发没人会写出来的,走投无路,又回来找老师啦,原表字段太复杂了,MM把问题简化成下面的表。
大家可以自己先试试,不要看答案哦。。。。。
插入到数据库以后,如下图所示:
要得到结果如下:
语句如下:
select教师号,
sum(case when是否有课='有' and星期号=1 then 1 else 0 end)星期一,
sum(case when是否有课='有' and星期号=2 then 1 else 0 end)星期二,
sum(case when是否有课='有' and星期号=3 then 1 else 0 end)星期三,
sum(case when是否有课='有' and星期号=4 then 1 else 0 end)星期四,
sum(case when是否有课='有' and星期号=5 then 1 else 0 end)星期五,
sum(case when是否有课='有' and星期号=6 or星期号=7 then 1 else 0 end)星期日
from tmp
group by教师号;
so,顺利解决了,诸位看官是不是懂了,以下是小伙伴们的感受:
这就是有团队的好处,从学习的“单机版”走向“联机版”,大家一起学习,共同进步。
【转载须知】
1、本文为测试技术实验室(ID:zmnlab)编辑作品,受《著作权法》保护,依法享有汇编权及注释权;
三只啄木鸟旗下 专注于软件测试,发布自动化测试、性能测试、安全性测试等方面的技术 + 教程 + 课程 + 干货 + 职业路径。与千万人共享优质测试咨询服务。
领取专属 10元无门槛券
私享最新 技术干货