今天一个朋友找我看看一个现象是不是bug,如果直接查询报错,如果嵌套一层加上ROWNUM则不会报错,如果去掉ROWNUM就会导致错误重现,不管ROWNUM中指定查询多少行,都会避免错误的产生. 首先来看这个错误: SQL> SELECT COUNT(*) 2 FROM T_BID_ITEM A, T_BID B 3 WHERE A.BID_ORGID = B.BID_ORGID 4 AND A.INVITE_ID = '3003' 5 AND B.INVITE_ID = '3003' 6
分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句.ROWNUM <= 40和RN >= 21控制分页查询的每页的范围. 上面给出的这个分页查询语句,在大多数情况拥有较高的效率.分页的目的就是控制输出结果集大小,