
-
-- 解法一
-
SELECT
-
t1.teacher_no,
-
(CASE WEEK WHEN '1' THEN keshu ELSE 0 END ) 礼拜一,
-
(CASE WEEK WHEN '2' THEN keshu ELSE 0 END ) 礼拜二,
-
(CASE WEEK WHEN '3' THEN keshu ELSE 0 END ) 礼拜三
-
FROM
-
(
-
SELECT
-
teacher_no,
-
WEEK,
-
COUNT(1) AS keshu
-
FROM teach
-
GROUP BY teacher_no,WEEK
-
)t1
-
GROUP BY t1.teacher_no;
-
-
-
-- 解法二 就是count()函数作用
-
SELECT
-
t1.teacher_no,
-
(CASE WEEK WHEN '1' THEN keshu ELSE 0 END ) 礼拜一,
-
(CASE WEEK WHEN '2' THEN keshu ELSE 0 END ) 礼拜二,
-
(CASE WEEK WHEN '3' THEN keshu ELSE 0 END ) 礼拜三
-
FROM
-
(
-
SELECT
-
t.teacher_no,
-
t.WEEK,
-
COUNT(t.keshu) AS keshu
-
FROM
-
(
-
SELECT
-
teacher_no,
-
WEEK,
-
'1' keshu
-
FROM teach )t
-
GROUP BY teacher_no,WEEK
-
)t1
-
GROUP BY t1.teacher_no
- ;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31441024/viewspace-2155485/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31441024/viewspace-2155485/
本文提供两种SQL查询方案,用于统计教师在不同工作日的教学课程数量。通过CASE WHEN语句结合GROUP BY进行条件筛选与汇总,适用于需要按周几分别统计课程数的场景。
3026

被折叠的 条评论
为什么被折叠?



