为什么oracle中rownum只能小于,不能大于

来源:互联网 发布:知乎的赞有什么用 编辑:程序博客网 时间:2024/05/21 22:37

因为检索和操作rownum的时候游标的指向必须从1开始,不能跳过;

 rownum是查询过后才按顺序排的,假如你的条件是rownum>1;那么返回数据的第一条(rownum是1)就不符合要求了,然后第二条数据变成了现在的第一条,结果这一条rownum又变成1了又不符合要求了,以此类推 就没有返回结果。
如果想分页的话 是把rownum作为子表的一个字段(起个别名)如

SELECT *  FROM (SELECT a.*, ROWNUM rn          FROM (SELECT *                  FROM table_name) a         WHERE ROWNUM <= 40) WHERE rn >= 21


0 0
原创粉丝点击