每页显示条数:5第一页时候,sql是从第一条查询到第五条。
第二页时候,sql是从第六条查询到第十条。sql语句是怎么控制这个记录条数的???也就是说第一页时,sql是从第一条查询到第五条,
那么第二页时,是怎么确定到第六条上的???????
第二页时候,sql是从第六条查询到第十条。sql语句是怎么控制这个记录条数的???也就是说第一页时,sql是从第一条查询到第五条,
那么第二页时,是怎么确定到第六条上的???????
--生成标准的查询语句(没有分页条件的)
SELECT * FROM (
SELECT row_.*, rownum rownum_ FROM (
Sql_statement
) row_
WHERE rownum <= pageSize * pageNumber ) WHERE rownum_ > pageSize * (pageNumber - 1))
1. 最好还是利用分析函数
row_number()
比如想取出6-10条记录 select * from (
select a.*,row_number() rn from tab a
)
where rn between 6 and 10;2. 直接使用rownum 虚列
select * from (
select a.,rownum rn from tab a where rownum <= 10
)
where rn >= 6;
select a.,rownum rn from tab a where rownum <= 10
)
where rn >= 6;where rn >= 6; 是从第六条开始查询??? rn 怎么知道是从第六条开始查询???还是从第一条查询到第六条?