急等例子!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    select * from (
    select rownum r,owner,object_name from dba_objects
    order by object_id)
    where r<11
    /select * from (
    select rownum r,owner,object_name from dba_objects
    order by object_id)
    where r>10 and r<=20
    /
    以次类推分页
      

  2.   

    我觉得这个方法不是很好,如果数据量很大的话,会花掉很长的时间。建议只用rownum < 。然后再用集合运算符去处理。
      

  3.   

    用rownum你写一个过程,传入参数 页号,页显示数select * from (
    select rownum r, from tbname)
    where r between (页号-1)*页显示数
     and 页号*页显示数;你在jsp中调用过程就可以了
      

  4.   

    nicholaz:我也这样写过,但当用于多表查询时首行的*就被告知是未定义的列。你看我写的: select rid, user_id, user_name, user_dept,user_position,   user_salary from ( select  rownum rid, info.user_id, info.user_name, zdy_salary.*  from info, salary where info.user_id=salary.user_id order by info.user_id ) where rid between 1 and 5; 
    写成这样,首行的user_id还是不能识别。zhangsq:借宝地一用。:)若是单表查询完全同意楼上的。
      

  5.   

    用rownum可以解决。楼上的各位说得很清楚了。select * from (
    select rownum r,owner,object_name from dba_objects
    order by object_id)
    where r<11
    /select * from (
    select rownum r,owner,object_name from dba_objects
    order by object_id)
    where r>10 and r<=20(也可使用where r between 10 and 21)
    /
      

  6.   

    用rownum速度比top快!
    select * from (select rownum id,* from 表名) where id>10 and id < 21
      

  7.   

    select * from table where rownum<20 minus
    select * from table where rownum<40
      

  8.   

    2 times IO ->minus
    1 times IO ->Rownum