实现分页,使用伪列来实现分页,怎么根据伪列设置条件来实现分页
在Oracle中使用 select rownum , p_id  from page; 可以查到数据使用  select rownum , p_id  from page where rownum between 2 and 5 ;查不到数据,那么需要怎么怎么解决这个问题,速求.....

解决方案 »

  1.   

    Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。
    分页查询格式:SELECT * FROM 
    (SELECT A.*, ROWNUM RN 
    FROM (SELECT * FROM TABLE_NAME) A 
    WHERE ROWNUM <= 40)
    WHERE RN >= 21
      

  2.   

    SELECT * FROM 
    (SELECT A.*, ROWNUM RN 
    FROM (SELECT * FROM TABLE_NAME) A )
    WHERE RN BETWEEN 21 AND 40
      

  3.   

    这是由于对ROWNUM的不完全理解造成的。
    请参考http://hi.baidu.com/oraclej/blog/item/91b3142f4c39bf3c1e308967.html
    当然具体分页的实现可以按2楼的做法,也可以自定义一个类专门负责分页。