一、Oracle的分页查询
此分页语句,以Oracle中EMP表为例,查询第5条到第10条的数据
SELECT
B.*
FROM
(
SELECT
A.*, ROWNUM rn
FROM
emp A
WHERE
A.rn <= 10 -- 第一层通过ROWNUM限制最大值
) B
WHERE
B.rn >= 5 -- 第二层查询通过rn限制最小值
注意:
- ROWNUM是伪列,总是从1开始,只能使用<=,而不能使用>=,所以在第二层要给其起个别名,变成逻辑列比较;
二、MySQL的分页查询
此分页语句,以Mysql中EMP表为例,查询第5条到第10条的数据
select * from emp limit 4,10
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。
LIMIT 接受一个或两个数字参数。
参数必须是一个整数常量。
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。
初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。