MySQL中使用LIMIT进行分页的方法

MySQL中使用LIMIT进行分页的方法

一、分页需求:

客户端通过传递start(页码),pageSize(每页显示的条数)两个参数去分页查询数据库表中的数据,
那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样,
所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下:
mysql中用limit 进行分页有两种方式

例1,假设数据库表student存在13条数据。

代码示例:
语句1:select * from student limit 9,4
语句2:slect * from student limit 4 offset 9
语句1和2均返回表student的第10、11、12、13行 ,
//第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。
//语句2中的4表示返回4行,9表示从表的第十行开始

比如:

查询第1条到第10条的数据的sql是:select * from table limit 0,10; 对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;

查询第11条到第20条的数据的sql是:select * from table limit 10,10; 对应我们的需求就是查询第二页的数据:select * from table limit (2-1)*10,10;

查询第21条到第30条的数据的sql是:select * from table limit 20,10; 对应我们的需求就是查询第三页的数据:select * from table limit (3-1)*10,10;

OFFSET使用

SELECT  *   FROM trom_data  LIMIT  nNumRecord   OFFSET nBaseRow

表示从第nBaseRow行(基于0的索引)(包括该行)开始,取其后的nNumRecord  条记录

二、通过上面的分析,可以得出符合我们需求的分页sql格式是:

select * from table limit (start-1)*pageSize,pageSize;

其中start是页码,pageSize是每页显示的条数。

  • LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。

  • 如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,

  • 第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)

  • 为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:

SELECT * FROM table LIMIT 95,-1; // 检索记录行 96 -last.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值