SQL SEVER求各个课程号及相应的选课人数。查询结果按选课人数降序排列。如果课程的选课人数有相同的情况,按平均成绩降序排列。
时间: 2023-09-03 15:16:36 浏览: 189
学生选课SQL SERVER
好的,您可以尝试使用以下 SQL 查询语句:
```
SELECT course_id, COUNT(DISTINCT student_id) as student_count, AVG(score) as avg_score
FROM student_course
GROUP BY course_id
ORDER BY student_count DESC, avg_score DESC;
```
解释一下这个查询语句:
- `student_course` 是指学生选课表的表名,您需要替换成您实际使用的表名。
- `course_id` 表示选修的课程编号。
- `COUNT(DISTINCT student_id) as student_count` 表示计算选修该课程的学生人数。
- `AVG(score) as avg_score` 表示计算选修该课程的学生平均成绩。
- `GROUP BY course_id` 表示按课程编号分组,以便计算每个课程的选课人数和平均成绩。
- `ORDER BY student_count DESC, avg_score DESC` 表示按选课人数降序排列,如果选课人数相同,再按平均成绩降序排列。
希望这个查询语句能够帮到您!
阅读全文