你说的前10名应该是指scores最大的10个吧
select ID ,SCORES from (select ID ,SCORES from table1 order by SCORES desc) where rownum>=8 and rownum<=10

解决方案 »

  1.   

    select ID ,
           SCORES
    from (select ID ,
        SCORES,
                 row_number() over(ORDER BY SCORES DESC) as RowNumber
    from table1)
    where RowNumber > 7
    and RowNumber < 11
      

  2.   

    好象 rownum 不可以用 >  来操作啊
    select * from table1 where rownum > 8 ;return nothing
      

  3.   

    有一个表, 有 ID ,SCORES, 2列, 要求取出 SCORES 中 前10名的倒数3个
    select rid ,scores from (select rownum as rid ,scores from (select scores from tab_name order by scores) where rownum <= 10 ) where rid >=8