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