开发者社区> 问答> 正文

sql分组排序筛选

一个班级的学生有语文、数学、音乐等课程成绩,现求每位学生成绩最高的前两门课程;
如:
学生甲,语文:100,数学:90,音乐:80,则筛选出语文、数学;
学生乙,语文:80,数学:90,音乐:100,则筛选出数学、音乐;
尽量能用一条sql求出!
表:学生表student(id, name);
课程表course(id, name);
成绩表std_cor(id_student, id_course, score);

展开
收起
吴孟桥 2016-06-08 17:26:01 2909 0
1 条回答
写回答
取消 提交回答
  • SELECT * FROM (select s.name "姓名", c.name "课程",sc.score "分数" from student s,course c,std_cor sc where s.id=sc.id_student and c.id=sc.id_course order by sc.score) where ROWNUM<=2 ORDER BY ROWNUM ASC

    2019-07-17 19:32:24
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载