MySQL分页查询语句的写法详解
MySQL的分页查询主要通过LIMIT子句实现,其基本语法为:SELECT * FROM 表名 LIMIT 偏移量, 每页记录数; 或 SELECT * FROM 表名 LIMIT 每页记录数 OFFSET 偏移量;,这两种写法都能有效实现数据分页,其中偏移量指跳过的记录数,每页记录数控制返回的数据量。

在实际应用中,分页查询通常结合ORDER BY子句确保结果顺序稳定,要查询用户表users中第3页的数据(假设每页10条),偏移量计算公式为(页码-1) * 每页记录数,即(3-1)*10=20,对应语句为:
SELECT * FROM users ORDER BY id LIMIT 20, 10;
或:
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;
优化分页查询是提升性能的关键,对于大数据表,高偏移量可能导致查询变慢,此时可改用“游标分页”或“索引覆盖”技巧,基于上次查询的最大ID进行分页:
SELECT * FROM users WHERE id > 上一页最大ID ORDER BY id LIMIT 10;
这种方法能避免LIMIT扫描大量无效行,显著提高效率。
获取分页总数常需配合COUNT(*)计算总记录数,
SELECT COUNT(*) FROM users;
结合应用程序逻辑(如PHP、Python等),可动态计算总页数并生成分页导航。
掌握LIMIT与OFFSET的用法是MySQL分页的基础,而针对数据规模灵活选择优化方案,能确保查询既简洁又高效。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/6063.html发布于:2026-07-21





