关于数据库:MySQL笔记十之order-by-排序用法

42次阅读

共计 782 个字符,预计需要花费 2 分钟才能阅读完成。

本文首发于公众号:Hunter 后端

原文链接:MySQL 笔记十之 order by 排序用法

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

这一节介绍 order by 的如下几个用法:

  1. order by 的正序、逆序
  2. 多个字段排序
  3. 依照中文排序

1、order by 的升序、倒序

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

比方依据 book_name 字段依照升序排列返回:

select * from book order by book_name asc;

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

select * from book order by book_name;

如果是倒序就是用 desc:

select * from book order by book_name desc;

2、多个字段排序

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

select * from book order by book_name desc, author asc;

3、依照中文排序

当初插入几条带中文的数据:

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

间接应用排序的逻辑会发现排序是不对的,因为 ‘ 测试 ’ 的拼音是在 ‘ceshi’,然而排序却并没有在其余两条数据后面:

select * from book order by book_name;

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

select * from book order by convert(book_name using gbk);

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

如果想获取更多相干文章,可扫码关注浏览:

正文完
 0