日期:2014-05-17  浏览次数:20451 次

找最大中的任意一个
有这样一个表
学号   班级   成绩
-------------------------
1     1      70
2     1      71
3     1      72
4     2      73
5     2      75
6     2      75

想得到每个班级成绩最高的那个人的学号,如果最高成绩有N个人,任意取其中一个

学号   
------
3    
6
这里由于学号5,6的成绩一样,所以取5也行,取6也行

谢谢了

------解决方案--------------------

select 学号
from
(
select *,
       ROW_NUMBER() over(partition by 班级 order by 成绩 desc) as rownum
from t
)a
where rownum = 1