MySQL命令查询统计各门课程的选课情况(课程号,选课人数,该门课程的平均分),查询结果按成绩的由高到低排序。
时间: 2024-10-29 15:17:39 浏览: 38
学生课程实验 使用QT+Mysql 实现学生选课管理系统
在MySQL中,为了获取一门课程的选课情况、选课人数以及平均分数并按成绩从高到低排序,你需要查询多个表(比如`courses`、`students`和`grades`),假设存在这样的表结构:
- `courses`:记录课程信息(如course_id)
- `students_courses`:记录学生选课信息(student_id, course_id)
- `grades`:记录学生的考试成绩(student_id, course_id, score)
以下是相应的SQL查询示例:
```sql
SELECT c.course_id, COUNT(sc.student_id) as enrollment_count, AVG(g.score) as average_score
FROM courses c
JOIN students_courses sc ON c.course_id = sc.course_id
JOIN grades g ON sc.student_id = g.student_id
GROUP BY c.course_id
ORDER BY average_score DESC;
```
这个查询做了以下事情:
1. 使用`JOIN`连接三个表。
2. `COUNT(sc.student_id)`计算每门课程的选课人数。
3. `AVG(g.score)`计算每门课程的平均分数。
4. `GROUP BY c.course_id`将结果按课程ID分组。
5. `ORDER BY average_score DESC`按平均分降序排序。
阅读全文