MySQL 查询总学分最高的学生信息 - 学号、姓名、总学分
SELECT s.sno, s.sname, SUM(sc.credit) AS total_credit FROM student s, sc WHERE s.sno = sc.sno GROUP BY s.sno, s.sname ORDER BY total_credit DESC LIMIT 1;
本 SQL 查询语句用于查找选课总学分最高的学生信息,并显示其学号、姓名和总学分。
代码解释:
- SELECT s.sno, s.sname, SUM(sc.credit) AS total_credit: 选择学生表 (student) 中的学号 (sno) 和姓名 (sname),以及课程表 (sc) 中的学分 (credit) 之和,并将其命名为 'total_credit'。
- FROM student s, sc: 从学生表 (student) 和课程表 (sc) 中获取数据。
- WHERE s.sno = sc.sno: 连接学生表和课程表,基于学号 (sno) 进行连接。
- GROUP BY s.sno, s.sname: 按照学号 (sno) 和姓名 (sname) 进行分组,计算每个学生的总学分。
- ORDER BY total_credit DESC: 按照总学分 (total_credit) 降序排列,以便找到总学分最高的学生。
- LIMIT 1: 只返回总学分最高的学生的信息。
注意:
- 此查询假设学生表 (student) 和课程表 (sc) 中都存在学号 (sno) 列。
- 你可以根据实际情况修改表名、列名和连接条件。
- 为了更准确地找到总学分最高的学生,建议在 GROUP BY 语句中添加其他筛选条件,例如课程类型或学期等。
原文地址: https://www.cveoy.top/t/topic/oodh 著作权归作者所有。请勿转载和采集!