SQL 数据库查询:从考试成绩表中查询出来所有同学的同一个课程的最高分数

2018-04-10 11:48:07 +08:00
 Stitch
成绩表中有每个学生的考试数据,同一个课程可以考试多次,展示时以最高分数为准。
sql 语句如何查询到每个学生的每个课程的最高成绩,还要包括班级信息和课程信息。

数据表示例:
index name class course score
1 xiaoming A math 100
2 xiaoming A math 90
3 xiaosong B math 99
4 xiaosong B math 85
5 c A math 96
6 c A math 94
7 d A math 88
8 d A math 78
9 e A math 80
10 e A math 70
11 e A math 60
12 e A math 50


数据库查询:从考试分数表中查询出来所有同学的同一个课程的最高分数
查询结果是:1,5,7,9 行数据,要求把这记录全部拿出来,包括班级和课程信息

请问各位大声:

1、sql 语句如何编写?

2、如果用 django 的 orm 查询,要求结果是该表中的每个记录对象,该如何编写
4732 次点击
所在节点    问与答
6 条回复
ebony0319
2018-04-10 12:15:24 +08:00
子关联查询,大概就是这样,select * from A a where 1>=(
select * from A where a.score>=score)
手机打的,很不方便,大概就是这样。
ebony0319
2018-04-10 12:16:10 +08:00
错了,里面还要一个条件 学科=学科。
huba
2018-04-10 12:23:55 +08:00
坐等正确答案
kyuuseiryuu
2018-04-10 12:58:10 +08:00
作业请自己完成✅
Molita
2018-04-10 13:00:32 +08:00
作业 请独立完成
SbloodyS
2018-04-10 13:55:57 +08:00
SELECT
class,
`name`,
MAX(score)

FROM
main.test_v2ex
GROUP BY `name`,class

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/445594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX