select * from 
    ( 
select * from V_AC01_SYS a
     ) 
where rownum <= 12;

解决方案 »

  1.   

    第一个sql:
    select * from 
        ( 
    select * from V_AC01_SYS a
         ) 
    where rownum <= 12;第二个sql:
    select * from 
       ( select row_.*, rownum rownum_ from 
             ( select * from V_AC01_SYS b) row_ 
        where rownum <= 15)
    where rownum_ > 10;
    V_AC01_SYS是一张视图现在我测试一个sql的速度很快
    但第二个sql速度就慢了50倍左右,不知道是什么原因,有人知道吗,查询的那个视图有40w条记录
    知道的人回答
      

  2.   

    select row_.*, rownum rownum_ from 
             ( select * from V_AC01_SYS b) row_ 
        where rownum <= 15
    要多久
    select * from 
       ( select row_.*, rownum rownum_ from 
             ( select * from V_AC01_SYS b) row_ 
        where rownum <= 15)
    where rownum_ > 10;
    要多久是否与加入了rownum rownum_有关?
      

  3.   

    这两句SQL完全就不一样,怎么比呀?还有我不知道你为什么要这样多写一层SELECT,直接
    select rownum,b.* from V_AC01_SYS b
        where rownum <= 15
        select row_.*, rownum rownum_ from 
             ( select rownum rownum_,b.*  from V_AC01_SYS b
        where rownum <= 15)row_
    where rownum_ > 10;
      

  4.   

    第一个取前15条
    第二个取10-15条:
    举例:
    select * from
    (select rownum r,b.*
    from emp b
    where rownum<=10)
    where r>5
    /