全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-15 5 分钟 ✍️ juanwangdev

MySQL LIMIT 限制结果

LIMIT 子句用于限制 SELECT 语句返回的记录数量,是实现分页的核心。

基本语法

SQL
-- 返回前 N 条记录
SELECT 列名 FROM 表名 LIMIT N;

-- 跳过 M 条,返回 N 条(分页)
SELECT 列名 FROM 表名 LIMIT M, N;
SELECT 列名 FROM 表名 LIMIT N OFFSET M;

限制返回数量

SQL
-- 创建示例表
CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    price DECIMAL(10, 2)
);

INSERT INTO products VALUES
(1, '手机', 2999),
(2, '电脑', 5999),
(3, '耳机', 299),
(4, '平板', 1999),
(5, '键盘', 199);

-- 只返回前3条
SELECT * FROM products LIMIT 3;

-- 返回价格最高的2个商品
SELECT * FROM products ORDER BY price DESC LIMIT 2;

分页查询

SQL
-- LIMIT offset, count
-- offset: 跳过的记录数(从0开始)
-- count: 返回的记录数

-- 第1页(每页3条)
SELECT * FROM products LIMIT 0, 3;
-- 等价于
SELECT * FROM products LIMIT 3 OFFSET 0;

-- 第2页
SELECT * FROM products LIMIT 3, 3;
-- 等价于
SELECT * FROM products LIMIT 3 OFFSET 3;

-- 第3页
SELECT * FROM products LIMIT 6, 3;
-- 等价于
SELECT * FROM products LIMIT 3 OFFSET 6;

分页公式

SQL
-- 页码从1开始,每页 pageSize 条
-- offset = (page - 1) * pageSize

-- 第 page 页
SET @page = 2;
SET @pageSize = 3;
SELECT * FROM products
LIMIT (@page - 1) * @pageSize, @pageSize;

与 ORDER BY 配合

SQL
-- 获取销量最高的前5名
SELECT * FROM products ORDER BY sales DESC LIMIT 5;

-- 获取第2-4名
SELECT * FROM products ORDER BY sales DESC LIMIT 1, 3;

LIMIT 必须放在 SELECT 语句最后,ORDER BY 之后。

要点总结

  • LIMIT N 返回前 N 条记录
  • LIMIT M, N 跳过 M 条,返回 N 条
  • 分页公式:LIMIT (page-1)*pageSize, pageSize
  • 常与 ORDER BY 配合获取排名数据

📝 发现内容有误?点击此处直接编辑

← 上一篇 MySQL HAVING 过滤分组
下一篇 → MySQL ORDER BY 排序
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库