Oracle\MySQL数据库分页查询实例
2015-09-09 11:59
375 查看
MySQL:
MySQL数据库实现分页比较简单,提供了LIMIT函数。一般只需要直接写到sql语句后面就行了。
LIMIT语句可以用来限制由SELECT语句返回过来的数据数量,它有一个或者两个参数,如果给出两个参数,第一个参数指定返回的第一行在所有数据中的位置。从0开始,第二个参数指定最多返回的行数。
例如:
select * from table WHERE ...LIMIT 10; #返回前10行
select * from table WHERE ...LIMIT 0,10; #返回前10行
select * from table WHERE ...LIMIT 10,20; #返回第10-20行
Oracle:
在oracle中没有LIMIT关键字,但是有 ROWNUM字段
ROWNUM是一个伪列,是Oracle系统自动为查询返回结果的每行分配的编号,第一行为1,第二行为2,以此类推。。。。
例如:
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控制分页查询的每页的范围。
MySQL数据库实现分页比较简单,提供了LIMIT函数。一般只需要直接写到sql语句后面就行了。
LIMIT语句可以用来限制由SELECT语句返回过来的数据数量,它有一个或者两个参数,如果给出两个参数,第一个参数指定返回的第一行在所有数据中的位置。从0开始,第二个参数指定最多返回的行数。
例如:
select * from table WHERE ...LIMIT 10; #返回前10行
select * from table WHERE ...LIMIT 0,10; #返回前10行
select * from table WHERE ...LIMIT 10,20; #返回第10-20行
Oracle:
在oracle中没有LIMIT关键字,但是有 ROWNUM字段
ROWNUM是一个伪列,是Oracle系统自动为查询返回结果的每行分配的编号,第一行为1,第二行为2,以此类推。。。。
例如:
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控制分页查询的每页的范围。
相关文章推荐
- oracle定义字段为number,Java程序里读取为bigDecimal
- 向maven仓库中添加,oracle jdbc驱动问题
- EXP/IMP】EXP/IMP过程中的字符集问题
- Oracle监控用户索引使用情况,删除无用索引
- oracle中 connect by prior 递归算法
- 从一张表里插入到另一张表
- 一旦配置oracle em经验
- Oracle Decode()的使用
- ORACLE禁用启用触发器
- Oracle select distinct
- Java连接访问Oracle--Connection.setSavepoint()方法使用
- oracle定时备份
- Oracle中connect by...start with...的使用
- 区分Oracle的数据库,实例,服务名,SID
- oracle 对表赋权限
- .net 环境下操作oracle数据库
- ORACLE 效率优化
- Oracle SQL
- linux重启oracle 各种方法
- Oracle中restore与recover区别