select * from ( select * from yourtable order by time_field) where rownum <11

解决方案 »

  1.   

    top是不是sql server的关键字啊?我都混了,select top 10 在oracle里面好象不行,呵呵
    听听大家怎么说。
      

  2.   

    to: jieson(三四五六七八层)    没错,所以才不得不采用子查询的方式,先在子查询中排序,然后再通过Oracle提供的rownum伪列来控制返回的数目。
      

  3.   

    这样不行吗?
    select * from yourtable where rownum <11 order by time_field [desc]; 
      

  4.   

    1、如果是先排序后取前10条记录,我同意SHENLENG的方法:
       select * from yourtable where rownum <11 order by time_field desc;
    2、如果是先取出前10条记录,后对取出的数据再排序,我建议用临时表来实现是比较简单的
      

  5.   

    to :  shenleng(冷雪) 
     select * from yourtable where rownum <11 order by time_field 
     执行的结果是从yourtable表中取出10条记录(注意是没有order by time_field条件下取的!),然后再对这取出的10条记录order by time_field!
      

  6.   

    TO_shenleng(冷雪) 泥的写法是不符合要求的!