ORACLE中取出表中按照某字段排序的前N条记录。
除了用类似select * from (select * from TestSort order by ID) where rownum <=3;这种方法以外还有别的方法吗?

解决方案 »

  1.   

    好像没有吧。这点和Sql Server好像有区别,MSSql可以直接得到
      

  2.   

    select * from TestSort where rownum <=3 order by ID;
      

  3.   

    用分析函数吧,单元里也差不多哦         select * 
               from (
                     select l.*,row_number() over(order by id) rn
                       from like_test l
                    )
              where rn <= 3;
      

  4.   

    支持uwinb()一下。
    应该可以的。
      

  5.   

    uwinb()的不行,他是先取三行,然后对那三行排序。
      

  6.   

    有的..首先建一视图(按字段排序)然后再select * from table_v where rownum <= N
      

  7.   

    mantisXF(枫の叶) 的就可以使用
      

  8.   

    ORACLE中取出表中按照某字段排序的前N条记录。
    除了用类似select * from (select * from TestSort order by ID) where rownum <=3;这种方法以外还有别的方法吗?select top N * from testsort order by yourcolumn
      

  9.   

    top n ORACLE也可以用啦?
    那好象是SQL SERVER的吧?