2008年12月10日星期三

MySQL中Limit语句的用法及分页语句

在SQL Server或Access中我们可以使用Top n语句进行分页(参考:用于SQL Server和Access的分页语句 ),那么在MySQL中我们怎么进行分页呢?

首先,我们学习MySQL中的一个语句Limit。
【使用方法】
SELECT * FROM table LIMIT [offset,] rows
其中offset是偏移量,为可选参数,说明从第几行开始读取数据。
rows是返回的结果集的最大行数
这两个参数要求为整数。

例如:
返回前15行产品信息
select * from Products limit 15; 相当于limit 0,15

返回第31到第45行数据
select * from Products limit 30,15; 注意offset的序号从0开始

返回第18行后的所有数据
select * from Products limit 18,-1; 这里-1表示返回所有数据直到记录的最后一行。

【利用limit进行分页】
学习了Limit的用法,下面我们看在MySQL中如何进行分页。
我们假设每页要显示pageSize行数据,当前要显示的是第pageCount页,所用的SQL语句为:

select * from Products limit (pageCount-1)*pageSize,pageSize

其中(pageCount-1)*pageSize是前面几页要显示的行数,共提取pageSize行数据。

没有评论: