糖醋咸鱼多放辣
2020-08-12 20:40
采纳率: 100%
浏览 148

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

有两张表如下图片说明

图片说明

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

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

最后一个条件limit 2不知道该怎么插入
才能显示,拜托各位大佬了,谢谢谢谢。

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • java冲啊 2020-08-12 20:47
    已采纳

    这就叫完美,想明白了
    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;

    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题