SQL查询数据库中最高分学生的信息, 怎么写?

2025-03-04 00:23:55
推荐回答(4个)
回答1:

t1 学生信息表
编号 姓名

t2 学生成绩表
编号 课程编号 学生编号 成绩

t3 课程信息表
编号 课程

select t1.* , t3.课程, t.成绩
from t1 left join (select min(编号) 编号, 课程编号, max(成绩) 成绩
from t2 group by 课程编号) t on t1.编号 = t.学生编号
left join t3 on t2.课程编号 = t3.编号

回答2:

SELECT
TOP
1
学生信息表.学号
学生信息表.学生姓名
学生信息表.性别
学生成绩表.科目编号
学生成绩表.成绩
FROM
学生信息表
INNER
JOIN
学生成绩表
ON
学生信息表.学号=学生成绩表.学号

回答3:

select 学号,姓名 from 学生表 where 学号 in
(select top 1 学号 from 学生成绩表 group by 课程号 order by 成绩 desc)

回答4:

select aa.name,aa.sex,cla.classname,aa.sumscore from
(select stu.class_id,stu.name,stu.sex,a.sumscore from student stu
inner join 
(select sc.stu_id,sum(sc.score) sumscore from score sc group by sc.stu_id order by sumscore desc) a
on stu.id = a.stu_id group by stu.class_id) aa 
inner join class cla on cla.classid = aa.class_id;

mysql查询各班最高分学生的信息