SQL语句--分组统计

时间:2020-12-16 02:59:02

一、
教师号  星期号 是否有课
1    2   有
1    3   有
2    1   有
3    2   有`
1    2   有
写一条sql语句让你变为这样的表
教师号 星期一 星期二 星期三
1       2   1
2   1
3       1
各星期下的数字表示:对应的教师在星期几已经排的课数

答案是:

SELECT `教师号`,sum(case WHEN `星期号`= 1 THEN `是否有课` ELSE 0 END) AS '星期一',sum(case WHEN `星期号`= 2 THEN `是否有课` ELSE 0 END) AS '星期二',sum(case WHEN `星期号`= 3 THEN `是否有课` ELSE 0 END) AS '星期三' FROM `TeCourse` GROUP BY `教师号`;