比如一个表中有100条记录,我想第一次查看,1至10条记录,接着是11至20条记录。这种方式如何定SQL啊。请高手指定,

解决方案 »

  1.   

    抽取从N行到M行的记录,如从20行到30行的记录
    [A]select * from (select rownum id,t.* from table where …… 
    and rownum <= 30) where id > 20;
      

  2.   

    select ....from ... where rownum>=20 and rownum<=30
      

  3.   

    我们经常要访问数据集的某一个中间部分,例如第10到第20条记录,Oracle中有一个很好语句来实现,那就是with。以下是使用的例子: 
    with partdata as (select rownum rowno,t.* from table1 t where t.id>200407160000)
    select * from partdata where rowno between 10 and 20
    当然还有别的方法,但我目前测试这种方法的速度最快。以上代码在Oracle 9i中测试通过
    8i:
    select * from (select t.*,rownum id from larget1 t)
       where id between 21 and 30
      

  4.   

    最好:
    select * from (select t.*,rownum id from larget1 t)
       where id between 21 and 30
      

  5.   

    别给我分,是skytears(苦) 的算法。