为什么oracle中rownum只能小于,不能大于
2016-08-18 17:58
393 查看
因为检索和操作rownum的时候游标的指向必须从1开始,不能跳过;
rownum是查询过后才按顺序排的,假如你的条件是rownum>1;那么返回数据的第一条(rownum是1)就不符合要求了,然后第二条数据变成了现在的第一条,结果这一条rownum又变成1了又不符合要求了,以此类推
就没有返回结果。
如果想分页的话 是把rownum作为子表的一个字段(起个别名)如
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
相关文章推荐
- Oracle中的rownum为什么不能用‘>’判断
- 转:Oracle中的rownum不能使用大于>的问题
- 转:Oracle中的rownum不能使用大于>的问题
- Oracle中的rownum不能使用大于>的问题
- 转:Oracle中的rownum不能使用大于>的问题
- float 为什么不能用== ,或者大于等于,或者小于等于
- 有两等长数组A,B,所含元素相同,但顺序不同,只能取得A数组某值和B数组某值进行比较,比较结果为大于,小于,等于,但是不能取得同一数组A或者B中两个数进行比较,也不能取得某数组中的某个值
- Oracle中的rownum不能使用大于>的问题
- 转:Oracle中的rownum不能使用大于>的问题
- Oracle中的rownum不能使用大于>的问题
- [转]Oracle中的rownum不能使用大于>的问题
- Oracle中的rownum不能使用大于>的问题
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- 解决字符串插入不能大于2000.(用的数据库环境为Oracle 9i; 10g不能大于4000)
- oracle中使用子查询为何取到大于自然数1 rownum 浅度解析
- oracle 查询日期类型为什么不能用=
- lock为什么只能锁定引用不能锁定值类型
- rsa公钥加密时,明文为什么不能大于N
- 为什么Oracle的伪列rownum不支持>,>=,=,between...and,而都用<
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句