下面是oracle中的例子。
select * from (
SELECT deptno, ename, sal, comm,
RANK() OVER (PARTITION BY deptno ORDER BY sal DESC, comm) as rk
FROM emp ) where rk < 10

解决方案 »

  1.   

    select 姓名,成绩
    from (select 姓名,成绩,rownum rs from t1 order by 成绩)
    where rs <= 10
      

  2.   

    select * from (select rownum rowId,* from 你的表 order by 成绩 desc) where rowId between 1 and 10
      

  3.   

    select 姓名,成绩
    from (select 姓名,成绩 from 成绩表 order by 成绩)
    where rownum<=10
      

  4.   

    select 姓名,成绩
    from (select 姓名,成绩 from 成绩表 order by 成绩 desc )
    where rownum<=10