美文网首页
Mysql 的 select 语法使用(二)

Mysql 的 select 语法使用(二)

作者: 改昵称已被占用 | 来源:发表于2020-04-08 23:54 被阅读0次
timg.jpeg

本节将介绍如何使用 select 语句的 order by 子句,根据需要排序检索出的数据

order by 子句

子句通常由一个关键字和所提供的数据组成

order by 简单使用

select * 
from student
order by sage;

此 sql 语句表示查询所有出 student 表中的所有数据,并按照 sage 字段进行升序排序,输出为:

+------+--------+---------------------+------+
| SId  | Sname  | Sage                | Ssex |
+------+--------+---------------------+------+
| 07   | 郑竹   | 1989-07-01 00:00:00 | 女   |
| 01   | 赵雷   | 1990-01-01 00:00:00 | 男   |
| 03   | 孙风   | 1990-05-20 00:00:00 | 男   |
| 04   | 李云   | 1990-08-06 00:00:00 | 男   |
| 02   | 钱电   | 1990-12-21 00:00:00 | 男   |
| 05   | 周梅   | 1991-12-01 00:00:00 | 女   |
| 06   | 吴兰   | 1992-03-01 00:00:00 | 女   |
| 12   | 赵六   | 2017-01-01 00:00:00 | 女   |
| 09   | 张三   | 2017-12-20 00:00:00 | 女   |
| 10   | 李四   | 2017-12-25 00:00:00 | 女   |
| 11   | 李四   | 2017-12-30 00:00:00 | 女   |
| 13   | 孙七   | 2018-01-01 00:00:00 | 女   |
+------+--------+---------------------+------+

order by 按多列排序

select * 
from student
order by sage, sid;

此 sql 语句表示查询所有出 student 表中的所有数据,并按照 sage 字段进行升序排序,当 sage 字段内容一样,则按照 sid 的升序进行排序,输出为:

+------+--------+---------------------+------+
| SId  | Sname  | Sage                | Ssex |
+------+--------+---------------------+------+
| 07   | 郑竹   | 1989-07-01 00:00:00 | 女   |
| 01   | 赵雷   | 1990-01-01 00:00:00 | 男   |
| 03   | 孙风   | 1990-05-20 00:00:00 | 男   |
| 04   | 李云   | 1990-05-20 00:00:00 | 男   |
| 02   | 钱电   | 1990-12-21 00:00:00 | 男   |
| 05   | 周梅   | 1991-12-01 00:00:00 | 女   |
| 06   | 吴兰   | 1992-03-01 00:00:00 | 女   |
| 12   | 赵六   | 2017-01-01 00:00:00 | 女   |
| 09   | 张三   | 2017-12-20 00:00:00 | 女   |
| 10   | 李四   | 2017-12-25 00:00:00 | 女   |
| 11   | 李四   | 2017-12-30 00:00:00 | 女   |
| 13   | 孙七   | 2018-01-01 00:00:00 | 女   |
+------+--------+---------------------+------+

order by 制定排序方向

select * 
from student
order by sage desc;

此 sql 语句表示查询所有出 student 表中的所有数据,并按照 sage 字段进行降序排序,输出为:

+------+--------+---------------------+------+
| SId  | Sname  | Sage                | Ssex |
+------+--------+---------------------+------+
| 13   | 孙七   | 2018-01-01 00:00:00 | 女   |
| 11   | 李四   | 2017-12-30 00:00:00 | 女   |
| 10   | 李四   | 2017-12-25 00:00:00 | 女   |
| 09   | 张三   | 2017-12-20 00:00:00 | 女   |
| 12   | 赵六   | 2017-01-01 00:00:00 | 女   |
| 06   | 吴兰   | 1992-03-01 00:00:00 | 女   |
| 05   | 周梅   | 1991-12-01 00:00:00 | 女   |
| 02   | 钱电   | 1990-12-21 00:00:00 | 男   |
| 04   | 李云   | 1990-08-06 00:00:00 | 男   |
| 03   | 孙风   | 1990-05-20 00:00:00 | 男   |
| 01   | 赵雷   | 1990-01-01 00:00:00 | 男   |
| 07   | 郑竹   | 1989-07-01 00:00:00 | 女   |
+------+--------+---------------------+------+

desc 关键字只应用到直接位于其前面的列名,如果想在多个列上进行降序排序, 必须对每列指定 desc 关键字

select * 
from student
order by sage, sid desc;

此 sql 语句表示查询所有出 student 表中的所有数据,并按照 sage 字段进行升序排序,当 sage 字段内容一样,则按照 sid 的降序进行排序,输出为:

+------+--------+---------------------+------+
| SId  | Sname  | Sage                | Ssex |
+------+--------+---------------------+------+
| 07   | 郑竹   | 1989-07-01 00:00:00 | 女   |
| 01   | 赵雷   | 1990-01-01 00:00:00 | 男   |
| 03   | 孙风   | 1990-05-20 00:00:00 | 男   |
| 04   | 李云   | 1990-05-20 00:00:00 | 男   |
| 02   | 钱电   | 1990-12-21 00:00:00 | 男   |
| 05   | 周梅   | 1991-12-01 00:00:00 | 女   |
| 06   | 吴兰   | 1992-03-01 00:00:00 | 女   |
| 12   | 赵六   | 2017-01-01 00:00:00 | 女   |
| 09   | 张三   | 2017-12-20 00:00:00 | 女   |
| 10   | 李四   | 2017-12-25 00:00:00 | 女   |
| 11   | 李四   | 2017-12-30 00:00:00 | 女   |
| 13   | 孙七   | 2018-01-01 00:00:00 | 女   |
+------+--------+---------------------+------+

ps:order by 关键字结合 limit 关键字可以查找出学生中年龄最大或最小的学生

select * 
from student
order by sage desc
limit 1;

此 sql 语句通过对 sage 字段进行降序排序,并使用 limit 关键字去处第一条来查询出年龄最小的学生,输出为:

+------+--------+---------------------+------+
| SId  | Sname  | Sage                | Ssex |
+------+--------+---------------------+------+
| 13   | 孙七   | 2018-01-01 00:00:00 | 女   |
+------+--------+---------------------+------+

在给出 order by 子句时,应该保证它位于 from 子句之后。如果使用 limit,它必须位于 order by 之后。使用子句的次序不对将产生错误消息

相关文章

  • 走向DBA之SQL语句(DQL)

    select 查看 一、作用: 获取MySQL中的数据行信息 二、单独使用select 2.1获取参数信息 语法:...

  • Mysql 的 select 语法使用(二)

    本节将介绍如何使用 select 语句的 order by 子句,根据需要排序检索出的数据 order by 子句...

  • MySQL语法大全

    [MySQL语法大全] select * from emp; #注释 ---------------------...

  • Mysql 的 select 语法使用(一)

    本文将简单介绍使用 select 语句怎样从表中查询一个或多个数据列 select 语句 select 查询单列 ...

  • mysql 不支持的语法

    1:SQL: SELECT INTO 语法 MySQL不支持 SELECT INTO FROM 语句解决方法

  • 基础查询

    1. 数据查询语句的基础语法 1.1 基础语法 在MySQL中 select 表示查询,select可以单独成句,...

  • 数据查询语句的基础语法

    1. 数据查询语句的基础语法 1.1 基础语法 在MySQL中 select 表示查询,select可以单独成句,...

  • 第3章 基础查询语法

    1. 数据查询语句的基础语法 1.1 基础语法 在MySQL中 select 表示查询,select可以单独成句,...

  • Mysql创建高级联结

    一、使用表别名 咱们之前看到了如何使用别名引用被检索的表列。给列起别名的语法: mysql>select Conc...

  • SQL进阶1

    1.w3School SQL简单回顾 一.基础 二.高级 SELECT INTO用法(mysql当前不支持该语法)...

网友评论

      本文标题:Mysql 的 select 语法使用(二)

      本文链接:https://www.haomeiwen.com/subject/tmyfmhtx.html