统计每个学生的选课门数和总成绩,并按选课门数降序排列mysql
时间: 2024-10-05 12:00:38 浏览: 82
java学生选课成绩信息管理系统.zip
在MySQL中,你可以通过使用GROUP BY、COUNT函数、SUM函数以及ORDER BY子句来统计每个学生的选课门数(课程数量)和总成绩,并按照选课门数降序排列。假设你有一个名为`students_courses`的表,包含字段如`student_id`(学生ID)、`course_id`(课程ID)和`score`(成绩)。下面是一个SQL查询示例:
```sql
SELECT
student_id,
COUNT(DISTINCT course_id) AS total_courses,
SUM(score) AS total_score
FROM
students_courses
GROUP BY
student_id
ORDER BY
total_courses DESC;
```
这个查询做了以下几件事:
1. `SELECT student_id`: 选择每个学生的ID。
2. `COUNT(DISTINCT course_id)`: 计算每个学生选修的不同课程数量(去重)。
3. `SUM(score)`: 累加每个学生所有课程的成绩。
4. `GROUP BY student_id`: 按照学生ID分组,以便为每个学生计算门数和总分。
5. `ORDER BY total_courses DESC`: 将结果按照总课程数从多到少排序。
阅读全文