select * from (select rownum as rid,t.* from rsc_bs t order by id desc) where  rid > (page_record*(curpage-1)) and rid <= (page_record*curpage)你试试。

解决方案 »

  1.   

    select /*+ first_row */ *
        from  rsc_bs
        where rowid in (select rid from (select rownum rno, rid
                                             from (select rowid rid from  rsc_bs
                                                       order by id desc)
                                             where rownum <= curpage*page_record )
                            where rno >= (curpage-1)*page_record+1);
      

  2.   

    SELECT * FROM(SELECT A.*, rownum r FROM("+sql+") A WHERE rownum <= "+intPage*intPageSize+") B WHERE r > "+(intPage-1)*intPageSize这个是目前比较好的  听说是个外国人写的
      

  3.   

    给你一个oracle的翻页语句(显示第20--30条记录):select mytable.jhbh,my_rownum from (select rownum as my_rownum ,jhbh from (select jhbh from jh_ndacjh order by jhbh) where rownum <= 30) mytable where my_rownum >20 注意: rownum as my_rownum 一定要,否则查不出来因为rownum是oracle自己的关键字,内外嵌套的时候,如果没有别名,会混淆. 在web翻页时,此语句可实现翻页功能的优化
      

  4.   

    给个SQLSERVER的翻页,好点的SQL吧