sql 排名次

工资最低前十名,包含名次相同的。最高同理。
select @rank:=@rank+1 AS rank,p.* from
(
   select * from salaries where salary in
   (
      select salary from (select distinct salary  from salaries
      order by salary asc limit 0,10) t  
    )
) p,(SELECT @rank:=0) r
order by salary asc;

rank emp_no salary
1 49239 38623
2 253406 38623
3 281546 38786
4 15830 38812
5 64198 38836
6 475254 38849
7 50419 38850
8 34707 38851
9 49239 38859
10 274049 38864
11 473390 38864
12 12444 38874

猜你喜欢

转载自tangleilei.iteye.com/blog/2306321