select * from (
select test1.*,rank() over(order by soccer desc) rk from test1) t
where t.rk=3;

解决方案 »

  1.   

    SQL> select * from (
      2  select test1.*,rank() over(order by soccer desc) rk from test1) t
      3  where t.rk=3;        ID NAME                     SOCCER         RK
    ---------- -------------------- ---------- ----------
            15 BOY5                         92          3
      

  2.   

    用dense_rank(),rank()在相同名次会有跳跃
    select * from (
    select test1.*,dense_rank() over(order by soccer desc) rk from test1) t
    where t.rk=3;
      

  3.   

    呵呵,dense_rank() :)
    楼上的即可。