MySQL分页的sql语言怎么写?

想做一个分页,请大家帮忙,取出数据库中指定的从n到m行。... 想做一个分页,请大家帮忙,取出数据库中指定的从n到m行。 展开
 我来答
彩虹糖豆Sx
高粉答主

2018-12-17 · 醉心答题,欢迎关注
知道小有建树答主
回答量:458
采纳率:97%
帮助的人:12.4万
展开全部

1、首先我们建立一个表表的数据,这个表里有25条数据,id从1到25。(下图是部分截图)

2、要分页数据,首先我们假设一页有10条数据,我们可以用mysql的 limit关键字来限定返回多少条数据。并且用order by来排序数据,这里用 id来排序。所以第一页的sql可以如图这样写。

3、执行后得到的数据如图,就是 id从1到10的前10条数据,因为我们是按id升序来排序的。

4、上面第一页的sql是简化的写法,完整的写法如图,得到的结果和上图的一模一样。代码里 limit 0, 10 的意思是从第一条数据开始,取10条数据。(注意的是第一条数据是从0开始的)

5、那么第二页的数据,关键是要知道是从哪一条数据开始,可以用这个公式得到: (页码-1)  * 每页显示多少条,即 (2-1) * 10 = 10, 所以sql语句如图, limit 10, 10。

6、执行后,结果正确,得到id从11到20的10条数据。

7、同理第三页数据的sql如图,<br/>就是 limit 20, 10。

8、查询的结果如图,因为这页只剩下5条数据了,所以只显示5条数据。如果你有更多页的数据,后面的数据只需要按上面的公式,得到从哪行开始,就可以写对应的sql语句了。

放飞新的人生
2015-12-15 · TA获得超过1707个赞
知道小有建树答主
回答量:405
采纳率:64%
帮助的人:215万
展开全部
--1.最常用的分页
select * from content order by id desc limit 0, 10;

--limit是MySQL中特有的分页语法,用法如下:
--举例:
select * from tableName limit 5; --返回前5行
select * from tableName limit 0,5; --同上,返回前5行
select * from tableName limit 5,10; --返回6-15行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qinghua9
2008-11-28 · TA获得超过1679个赞
知道大有可为答主
回答量:6101
采纳率:0%
帮助的人:2348万
展开全部
最简单的方法

用sql实现:select * from table limit start,pageNum

说明:
start:取数据的定位点 [开始是从0开始]
pageNum:每次取多少

比如:start=0|ageNum=5
那么就是说,取1-6 条数据,

通过程序实现:
jdbc2.0可以通过指针定位
List resultlist=new Vector();
Connection conn = null;
Statement ps = null;
ResultSet rs=null;

conn=ds.getConnection();
ps=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=ps.executeQuery(sql);
if(Start > 0)
rs.absolute(Start);//定位
Address address;
for(int recCount = 0; recCount++ < resultPage && rs.next();resultlist.add(address)){//从定位开始,取resultPage数据,先放在一个对象中,然后放在一个list中,这个对象可以是一个hashtable也可以是一个普通的javabean,用来存储数据

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
watercup__
2008-11-28 · TA获得超过558个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:483万
展开全部
select ... from ... where ... limit n, m-n;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式