查询各科成绩不合格与合格人数

ID Name Class Score
1 张三 数学 93
2 张三 语文 66
3 张三 英语 70
4 张三 理综 55
5 李四 数学 88
6 李四 语文 76
7 李四 英语 25
8 李四 理综 55
9 王五 数学 54
10 王五 语文 91
11 王五 英语 56
12 王五 理综 58
NULL NULL NULL NULL

sql语句:

select Class as 课程,sum(不合格) 不合格,sum(合格) 合格,sum(总人数) 总人数 from (
select Class ,count(*) as 不合格,合格=0,count(*) as 总人数 from StudentScore where score<60 group by Class
union all
select Class ,不合格=0,count(*) as 合格,count(*) as 总人数 from StudentScore where score>=60 group by Class ) T group by Class

结果:

课程 不合格 合格 总人数
理综 3 0 3
数学 1 2 3
英语 2 1 3
语文 0 3 3

原文地址:https://www.cnblogs.com/lijianhong90/p/4779581.html