有两张表如下
现在要求是写出SQL语句:按照班级class进行分组,然后查询出各个班级数学成绩前两名的学生的姓名name、班级class、数学成绩math
我写出的SQL语句如下:
最后一个条件limit 2不知道该怎么插入
才能显示,拜托各位大佬了,谢谢谢谢。
这样查询只有两条数据了
有两张表如下
现在要求是写出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;