第一关:GROUP BY 与 聚合函数
编程要求
补充代码 对年级Id和性别进行分组
分别统计表中2、3、4年级的男生总人数和女生总人数。
student表数据结构如下:
stuId | gradeId | sex |
---|---|---|
0201 | 2 | 男 |
0221 | 2 | 男 |
0319 | 3 | 女 |
0508 | 5 | 男 |
0610 | 6 | 女 |
0101 | 1 | 男 |
0224 | 2 | 女 |
0413 | 4 | 女 |
要求输出结果显示如下:
代码实现![在这里插入图片描述](https://img-blog.csdnimg.cn/f2fe1236fbd64cb3b869862d002932c0.png)
预期输出
- gradeId sex count(*)
- 2 女 1
- 2 男 2
- 3 女 1
- 4 女 1
第二关:使用 HAVING 与 ORDER BY
编程要求
补充代码:
我们要评选三好学生,条件是至少有两门课程在90分以上(包括90分)才能有资格,请列出符合的学生的学号(sno)及其90分以上(包括90分)科目总数;
学校评选先进学生,要求平均成绩大于90分(包括90分)的学生都有资格,并且语文课必须在95分以上(包括95分),请列出有资格的学生的学号(sno)及其科目的平均分。
给定数据表tb_grade格式如下:
sno | pno | score |
---|---|---|
1 | 语文 | 95 |
1 | 数学 | 98 |
1 | 英语 | 90 |
2 | 语文 | 89 |
2 | 数学 | 91 |
2 | 英语 | 92 |
3 | 语文 | 85 |
3 | 数学 | 88 |
3 | 英语 | 96 |
4 | 语文 | 95 |
4 | 数学 | 89 |
4 | 英语 | 88 |
代码实现
预期输出
- sno count(*)
- 1 3
- 2 2
- sno avg(score)
- 1 94.3333
- 4 90.6667