一个SQL语句难倒90%的开发GG

今天接到已经上班的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)编辑作品,受《著作权法》保护,依法享有汇编权及注释权;

三只啄木鸟旗下 专注于软件测试,发布自动化测试、性能测试、安全性测试等方面的技术 + 教程 + 课程 + 干货 + 职业路径。与千万人共享优质测试咨询服务。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171221G0OVLP00?refer=cp_1026

相关快讯

扫码关注云+社区