Mysql基础教程(10):LIMIT

MySQL LIMIT 用法与实例

在 MySQL 中,我们使用 LIMIT 子句来限定 SELECT 语句返回的行的数量。

MySQL LIMIT语法

该 LIMIT 子句可用于限制 SELECT 语句返回的行数。 LIMIT 接受一个或两个非负数正数作为参数。 LIMIT 子句的语法如下:

LIMIT [offset,] row_count;

或者

LIMIT row_count OFFSET offset;

说明:

  • 上述两种语法的结果是等效的,只是写法略有不同。
  • offset 指定要返回的第一行的偏移量。偏移量是相对于未使用 LIMIT 语句时的原始结果集而言的。offset 可理解为在原始结果集的基础上跳过的行数。
  • row_count 执行要返回的最大行数
  • offset 是可选的。当未指定 offset 时,默认的值 offset 为 0
  • LIMIT 一般位于 SELECT 语句的最后

例如

  • LIMIT 5

    最多返回 5 个记录行,等效于 LIMIT 0 5

  • LIMIT 2 5

    在原始结果集中,跳过 2 个记录行,并从 第 3 个记录行开始,最多返回 5 个记录行。

LIMITORDER BY 子句

在 SELECT 语句中, LIMIT 子句经常和 ORDER BY 子句结合使用。比如在下面的场景中:

  • ERP 中显示销售额最高的 5 个销售员
  • 网站上的点击率最高的 10 个文章
  • 论坛中一个月内最活跃的 10 个会员
  • 博客网站的文章分页列表
SELECT
    select_expression, ...
FROM
    table_name
ORDER BY
    sort_expression, ...
LIMIT [offset,] row_count;

在此 SELECT 语句中, MySQL 会先按照 ORDER BY 指定的规则对排序结果集,再返回 LIMIT子句指定的行数返回结果集

MySQL LIMIT 实例

以下实例中,我们使用students表进行演示

查询年龄最大的3个学生

SELECT * FROM students
ORDER BY age DESC
LIMIT 3;

在这里插入图片描述

查询年龄最小的3个学生

SELECT * FROM students
ORDER BY age ASC
LIMIT 3

在这里插入图片描述

使用LIMIT子句进行分页

LIMIT 的一个很重要的应用就是分页查询。对于一些大型的数据表来说,分页查询能很好的减少数据库的消耗和提高用户体验。

如果没有分页查询,所有数据都显示在页面上,会引入以下的问题:

  • 增加数据库的性能消耗
  • 传输过程中的数据量增加
  • 用户的体验不好,太多的数据对让用户眼花缭乱。

假设我们每一页,只显示5条学生信息,整个SQL如下:

 SELECT * FROM students LIMIT 5;

在这里插入图片描述

要查询第二页,需要先跳过第一页的5行数据,查询第二页,整个SQL如下:

SELECT * FROM students LIMIT 5, 5;

在这里插入图片描述

结论

  • LIMIT 子句限定查询返回的行数。
  • LIMIT [offset,] row_count; 和 LIMIT row_count OFFSET offset; 是等效的。
  • offset 指定需要跳过的行数。当 offset 为 0 时,可以省略。
  • row_count 指定返回的最大行数。当 row_count 为 0 时,返回结果集为空。
  • LIMIT 子句经常用于分页查询。
  • LIMIT 子句经常结合 ORDER BY 查询排名列表。

← Mysql基础教程(09):ORDER BY

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁拾舞

你的鼓励将是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值