日期:2014-05-17  浏览次数:20745 次

sql中的limit分页
我只知道这么个关键字,比如原本页面有十条数据,我想分成俩页来显示。

select * from db where limit 0,5,这样写,我试了一下,这一页确实只显示5条数据了。

请问后面的5条怎么让他显示出来啊,在jsp页面里怎么写才好呐。

------解决方案--------------------
select * from db where limit 0,5第0个开始取5个, 第一页
select * from db where limit 5,5第5个开始取5个, 第二页
....
------解决方案--------------------

select * from (select *,rownum rn from db
where rn>=(pageIndex-1)*pageSize+1 and rn<=pageSize*pageIndex;
pageIndex:页码
pageSize:每页记录数
------解决方案--------------------
select * from (select *,rownum rn from db)
where rn>=(pageIndex-1)*pageSize+1 and rn<=pageSize*pageIndex;
pageIndex:页码
pageSize:每页记录数

------解决方案--------------------
第二页用select * from db where limit 5,5咯,你要清楚第一个参数是偏移位置,第二个参数是值从偏移位置开始取几条记录,你可以这样理解,当你用limit的时候一根指针会只在偏移的位置0代表头顶
然后再下面滑动5行1-5行数据,如果从5开始5-10行记录
------解决方案--------------------
select * from (select *,rownum rn from db)
where rn>=(pageIndex-1)*pageSize+1 and rn<=pageSize*pageIndex;
pageIndex:页码
pageSize:每页记录数
 
方法是最简洁的