求一条sql,一对多,查询所有班级中分数最高的学生

问题描述:

求一条sql,一对多,查询所有班级中分数最高的学生
表结构如下:分数表(scores)
class_id(班级) stu_id(学生) score(分数)
1班 学生1 100
1班 学生2 50
1班 学生3 0
2班 学生4 90
3班 学生5 90
现在的需求是查询出每个班级中分数最高的一位同学,求SQL.
期望的结果是:
class_id(班级) stu_id(学生) score(分数)
1班 学生1 100
2班 学生4 90
3班 学生5 90
1个回答 分类:综合 2014-10-20

问题解答:

我来补答
select c.class_id as 班级 ,stu_id as 学生,f as 分数 from
( select class_id,max(score) as f from scores group by class_id) c
join scores on scores.class_id=c.class_id and scores.score = c.f
 
 
展开全文阅读
剩余:2000
上一页:为什么只选B
下一页:第8题练习