我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL索引查询limit offset及排序order by用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL索引查询limit offset及排序order by用法

引言

 这是mysql系列笔记的第九篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,或者个人知识点查阅。

select 语句获取数据我们可以通过 where 语句来限制条件。

但是如果限制条件之后还是很多数据,比如说 一万条,但有时候我们只是想看看数据的基本情况,不需要一万条数据,看不完,而且这一万条数据返回到客户端的时间也很长,没必要,那么这就需要我们使用 limit 和 offset 来限制返回的数量。

使用 limit 和 offset 来限制返回的数量

1、limit

limit 限制数量,后面跟一个整数 n,表示只返回符合条件的 n 条数据

比如说返回 book 表的前 5 条数据:

select*frombooklimit5;

2、offset

offset 是偏移量,和 limit 连用,比如说 limit 3 offset 5 表示舍弃前5条数据, 然后返回之后的 3条数据

可以理解成分页的用法,比如说每页数量为 10 条,然后我们分别获区第1、2、3、4页的数据:

select*frombooklimit10offset0;
select*frombooklimit10offset10;
select*frombooklimit10offset20;
select*frombooklimit10offset30;

注意: limit 和 offset 语句都放在查询语句的最后面。

MySQL 查询语句排序的关键字是 order by。

order by 的如下几个用法

order by 的正序、逆序

多个字段排序

按照中文排序

1、order by 的升序、倒序

order by 的语法是 order by field_name asc/desc,asc 是升序,desc 是倒序

比如根据 book_name 字段按照升序排列返回:

select*frombookorderbybook_nameasc;

其实,asc 是 order by 的默认排序方式,所以如果是升序,asc 是可以省略的。

select*frombookorderbybook_name;

如果是倒序就是用 desc:

select*frombookorderbybook_namedesc;

2、多个字段排序

如果是多个字段分别倒序、升序,通过逗号分隔连用即可:

select*frombookorderbybook_namedesc,authorasc;

3、按照中文排序

现在插入几条带中文的数据:

insertintobook(book_name,author)values('中文测试','作者1'),('这是测试','作者2'),('测试','作者3');

直接使用排序的逻辑会发现排序是不对的,因为 '测试' 的拼音是在 'ceshi',但是排序却并没有在其他两条数据前面:

select*frombookorderbybook_name;

那么这就需要用到另一个用法:

select*frombookorderbyconvert(book_nameusinggbk);

其语法是 convert(field_name using gbk),convert 函数里是字段名,然后 using gbk 表示转化成 gbk 的格式来排序。

以上就是MySQL限制数据返回条数limit offset及排序order by用法的详细内容,更多关于MySQL limit offset order by的资料请关注我们其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL索引查询limit offset及排序order by用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL索引查询limit offset及排序order by用法

目录引言使用 limit 和 offset 来限制返回的数量1、limit2、offsetorder by 的如下几个用法1、order by 的升序、倒序2、多个字段排序3、按照中文排序引言“ 这是mysql系列笔记的第九篇
2023-05-20

MySQL利用索引优化ORDER BY排序语句的方法

创建表&创建索引create table tbl1 ( id int unique, sname varchar(50), index tbl1_index_sname(sname desc) );在已有的表创建索引语法create [un
2022-05-24

union和子查询中order by一起使用导致排序失效问题及解决

目录一、前言二、问题列举2.1 子查询中不能使用order by2.2 子查询order by无效2.3 排序条件不够严格导致分页数据重复总结一、前言分页查询的需求如同家常便饭,多数情况下主要利用order by和limit即可实现,有些
2022-12-27

MySQL按年/月/周/日/小时分组查询、排序、limit及判空用法实例

目录一、按年/月/周/日/小时分组查询(日期时间类型为date或者datetime)二、mysql排序1.排序规则2.单列排序三.limit 详细用法1、用于强制返回指定的记录行数2、分页四.ifnull()函数的使用1、ifnull()的
2023-03-01

编程热搜

目录