sql语言统计每位同学所学课程的信息,显示学号,姓名,所学课程门数,最高成绩
时间: 2024-12-19 14:25:48 浏览: 14
在SQL中,你可以通过联接表并使用聚合函数来获取每位同学的课程信息、所学课程门数以及最高成绩。假设你有两个表,一个是`students`(包含学生的基本信息如学号和姓名),另一个是`courses`(包含学生选课记录,包括课程ID和成绩)。下面是一个基本的查询示例:
```sql
SELECT s.student_id AS 学号, s.name AS 姓名,
COUNT(c.course_id) AS 所学课程门数, MAX(c.score) AS 最高成绩
FROM students s
JOIN courses c ON s.student_id = c.student_id
GROUP BY s.student_id, s.name;
```
这个查询做了以下几件事:
1. `JOIN`操作将`students`表和`courses`表按照学生ID连接在一起。
2. `COUNT(c.course_id)`计算每个学生的选课次数,即所学课程门数。
3. `MAX(c.score)`找出每个学生每门课程的最大分数作为他们的最高成绩。
4. `GROUP BY`语句按学生ID和姓名分组,保证每个学生的数据被单独处理。
阅读全文