您的位置:首页 > 数据库 > Oracle

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

2016-08-18 17:58 393 查看
因为检索和操作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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: