要实现分页查询
用的是
java+oracle现在已经能实现的是在sql中查询n到m的记录。但界面上要求显示总共有几页,也就是需要查询一共有多少条记录。请问:是否必须每次查询时都连2次数据库?1次查count(*),1次查n-m的记录?
能否只用1次查询就能搞定?

解决方案 »

  1.   

    union all一下不就好了嘛 显示的时候查询最后一行的总数显示到页面上 显示数据的时候干掉最后一行,
    反正你翻页的时候也会去重新检索数据库的。
      

  2.   

    谢谢楼上的想法。
    现在我不知道怎么查rownum最大的一行啊?
    能指点下?比如一表,有a,b,c列。  select b.* 
      FROM (select a.*, ROWNUM rn 
            FROM tablename a) b
    WHERE rn >= 10 AND rn <= 20 union all select a,b,c,rownum from tablename aunion all 后的查询要怎么写?