四、分组查询 1、统计<学生选修信息表>,统计每个课程的选修人数 2、统计<学生选修信息表>,统计每个同学的总成绩 3、统计<学生选修信息表>,显示有两门以上课程不及格的学生的学号 4、统计<学生信息表>,统计每个班级中的最大年龄是多少
时间: 2024-03-01 17:54:57 浏览: 28
好的,以下是针对你的问题的SQL查询语句:
1. 统计每个课程的选修人数
```sql
SELECT 课程编号, COUNT(*) AS 选修人数 FROM studentinfo GROUP BY 课程编号;
```
2. 统计每个同学的总成绩
```sql
SELECT 学号, SUM(成绩) AS 总成绩 FROM studentinfo GROUP BY 学号;
```
3. 显示有两门以上课程不及格的学生的学号
```sql
SELECT 学号 FROM studentinfo WHERE 成绩 < 60 GROUP BY 学号 HAVING COUNT(*) >= 2;
```
4. 统计每个班级中的最大年龄是多少
```sql
SELECT 班级, MAX(DATEDIFF(CURDATE(), 出生日期) / 365) AS 最大年龄 FROM studentinfo GROUP BY 班级;
```
希望以上查询语句能够帮助你解决问题。注意,第三个问题中我使用了HAVING子句来过滤出有两门以上不及格课程的学生,而不是使用WHERE子句。
相关问题
用数据库语言查询选修了全部课程的学生信息,只有学生表和课程表
假设学生表的表名为students,包含字段为student_id, student_name,课程表的表名为courses,包含字段为course_id, course_name,选课表的表名为course_selections,包含字段为student_id和course_id,表示某个学生选了某个课程。
则查询选修了全部课程的学生信息的SQL语句如下:
```
SELECT s.student_id, s.student_name
FROM students s
WHERE NOT EXISTS (
SELECT c.course_id
FROM courses c
WHERE NOT EXISTS (
SELECT cs.course_id
FROM course_selections cs
WHERE cs.course_id = c.course_id AND cs.student_id = s.student_id
)
)
```
解释:
首先,使用子查询获取所有的课程ID。
然后,在主查询中,对于每个学生,使用子查询检查他是否选了所有的课程。如果他没有选所有的课程,子查询将返回结果,否则不会返回任何结果。
因此,通过NOT EXISTS来实现只返回选修了全部课程的学生信息。
2、 统计每个学生选修几门课,标题栏显示“学号”,“选修课程的数目”。
假设有一个名为"course_selection"的表,包含学生选课信息,其中有"student_id"和"course_name"两列,可以使用以下SQL语句统计每个学生选修的课程数目:
```
SELECT student_id, COUNT(course_name) AS num_of_courses
FROM course_selection
GROUP BY student_id;
```
执行以上SQL语句后,将返回两列数据,第一列是学生的学号,第二列是该学生选修的课程数目。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)