当前位置: 代码迷 >> Oracle开发 >> 用sql语句查询各个科目分数最高的学生,如图
  详细解决方案

用sql语句查询各个科目分数最高的学生,如图

热度:71   发布时间:2016-04-24 06:36:16.0
用sql语句查询各个学科分数最高的学生,如图:
本帖最后由 bantjmh 于 2014-09-19 10:30:56 编辑

如上表,查询结果应为:

求SQL!
------解决思路----------------------
如果出现并列最高如何处理,这种写法速度快,但是如果出现并列的情况是任选一条
select 学科,
max(学生姓名)keep(dense_rank last order by 分数,rowid) 学生姓名,
MAX(分数)
from T
GROUP BY 学科

------解决思路----------------------
此种写法并列最高的都能取出来
select * from T T1
where not exists(select 1 from T WHERE 学科=T1.学科 AND 分数>T1.分数)
  相关解决方案