MySQL 查询多个学科总分最高的学生记录及总分
根据题目要求,我们需要查询多个学科的总分最高的学生记录明细及总分。假设我们有两个表,一个是学生表(students),一个是成绩表(scores),它们之间通过学生ID(student_id)关联。下面是查询的 SQL 语句:
SELECT s.student_id, s.student_name, SUM(score) AS total_score
FROM students s
JOIN scores sc ON s.student_id = sc.student_id
WHERE sc.subject IN ('Subject1', 'Subject2', 'Subject3') -- 假设要查询的学科为 Subject1, Subject2, Subject3
GROUP BY s.student_id, s.student_name
ORDER BY total_score DESC
LIMIT 1;
解释:
- 使用 JOIN 连接学生表(students)和成绩表(scores),通过学生ID(student_id)关联两个表。
- 使用 SUM 函数计算每个学生的总分。
- 使用 WHERE 子句筛选出需要查询的学科(例如:'Subject1', 'Subject2', 'Subject3')。
- 使用 GROUP BY 对学生ID 和学生姓名进行分组。
- 使用 ORDER BY 按照总分降序排序。
- 使用 LIMIT 限制只返回一条记录,即总分最高的学生记录。
原文地址: https://www.cveoy.top/t/topic/pd33 著作权归作者所有。请勿转载和采集!