-- MySQL分页查询示例代码
-- 假设我们有一个名为 'users' 的表,包含用户信息,我们希望每次查询10条记录,并且可以通过页码进行分页。
-- 第一页 (LIMIT 0, 10) 表示从第0条记录开始,获取10条记录
SELECT * FROM users LIMIT 0, 10;
-- 第二页 (LIMIT 10, 10) 表示从第10条记录开始,获取10条记录
SELECT * FROM users LIMIT 10, 10;
-- 第三页 (LIMIT 20, 10) 表示从第20条记录开始,获取10条记录
SELECT * FROM users LIMIT 20, 10;
-- 通用的分页查询语句,假设每页显示 'pageSize' 条记录,当前是第 'pageNo' 页
-- 计算起始位置 offset = (pageNo - 1) * pageSize
SET @pageNo = 3; -- 当前页码
SET @pageSize = 10; -- 每页显示的记录数
SET @offset = (@pageNo - 1) * @pageSize;
PREPARE stmt FROM 'SELECT * FROM users LIMIT ?, ?';
EXECUTE stmt USING @offset, @pageSize;
DEALLOCATE PREPARE stmt;
LIMIT
子句用于限制查询结果的数量。它有两个参数:offset
和 count
。
offset
表示从哪一条记录开始(从0开始计数)。count
表示要获取的记录数量。在分页查询中,offset
是根据当前页码和每页显示的记录数计算出来的:
offset = (pageNo - 1) * pageSize
使用 PREPARE
和 EXECUTE
可以动态地构建分页查询语句,适用于需要频繁分页的场景。
上一篇:mysql tinyint
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站