在Oracle中,可以使用ROWNUM
实现分页查询。
SELECT * FROM ( SELECT t.*, ROWNUM AS rn FROM ( -- 原始查询语句 SELECT * FROM your_table -- 其他筛选条件和排序方式 WHERE ... ORDER BY ... ) t WHERE ROWNUM <= :pageSize * :pageNumber -- 每页显示的记录数 * 当前页码 ) WHERE rn > :pageSize * (:pageNumber - 1) -- 每页显示的记录数 * (当前页码 - 1)
-
:pageSize
表示每页显示的记录数。 -
:pageNumber
表示当前页码。
假设每页显示10条记录,要查询第2页的数据,可以将:pageSize
设置为10,:pageNumber
设置为2。
注意,Oracle中的ROWNUM
是在查询结果返回之后再进行排序的,因此需要在内部嵌套一层子查询,然后使用ROWNUM
进行筛选。