请教各位大佬们一个SQL查询语句

有两张表如下图片说明

图片说明

现在要求是写出SQL语句:按照班级class进行分组,然后查询出各个班级数学成绩前两名的学生的姓名name、班级class、数学成绩math

我写出的SQL语句如下:图片说明

最后一个条件limit 2不知道该怎么插入

才能显示,拜托各位大佬了,谢谢谢谢。

这样查询只有两条数据了图片说明

回答

这就叫完美,想明白了

SELECT s.ID '学号',s.name '名字',s.class '班级',g.math '成绩'

FROM

stinfo s,grade g

WHERE

(SELECT COUNT(*)

FROM

stinfograde s1,grade g1

WHERE s1.class=s.class AND g1.math>=g.math

AND g1.ID=s1.ID)<=2

AND g.ID=s.ID

GROUP BY s.class,g.math

ORDER BY s.class,g.math DESC;

以上是 请教各位大佬们一个SQL查询语句 的全部内容, 来源链接: utcz.com/a/38593.html

回到顶部