当前位置: 代码迷 >> J2EE >> oracle分页查询解决方法
  详细解决方案

oracle分页查询解决方法

热度:9319   发布时间:2013-02-25 21:38:45.0
oracle分页查询
SELECT ROWNUM AS rnum,c.* FROM s_city c;

SELECT ROWNUM AS rnum,c.* FROM (SELECT * FROM s_city) c;


这两种oracle分页有什么区别,结果集都一样,上网查了,都是使用第二种,求解
oracle
你写得不对 , 如果用rownum分页的话是三层sql,必须先order by
还有一种是用rownumber() over()分页,不需要order by你理解的不全吧,括号里加条件和rownum,不然rownum>1是查不出数据的其实我觉得都是一样的 我在我的数据库上测试也是一样的 把2个结果集 进行join 然后 rnum相等,主键不相等的是不存在的!
因为没有order by所以2种都是使用系统默认的顺序 所以 先 select *  from s_city 还是直接 取rownum其实数据的顺序都是一样的 !一般选择先查询是 因为正常情况下都会先对数据进行某种排序 然后再取某一段数据!一样的。。参照表都是同一个表 
  相关解决方案