--每个班的前3名 根据grade分组,(partitionby)
select *
from (select username,grade,
math + chemistry as total,
dense_rank() over(partition by grade order by math + chemistry desc) as m
from user_info) t
where m <= 3;
select *
from (select username,grade,
math + chemistry as total,
dense_rank() over(partition by grade order by math + chemistry desc) as m
from user_info) t
where m <= 3;
---数学前3名
select *
from (select username,
age,
math,
row_number() over(order by math desc) as m
from user_info) t
where t.m <= 3;
------------------------------------------------------------------------------------------
dense_rank()over(order by '')并列第一
row_number()over 会去除重复行
http://www.cnblogs.com/fxgachiever/archive/2010/09/15/1826792.html