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 语句中添加其他筛选条件,例如课程类型或学期等。
MySQL 查询总学分最高的学生信息 - 学号、姓名、总学分

原文地址: https://www.cveoy.top/t/topic/oodh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录