ORDER BY 关键字

过条件查询语句可以查询到符合用户需求的数据,但是查询到的数据一般都是按照数据最初被添加到表中的顺序来显示。为了使查询结果的顺序满足用户的要求,MySQL 提供了 ORDER BY 关键字来对查询结果进行排序。

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

 

ORDER BY 关键字主要用来将查询结果中的数据按照一定的顺序进行排序。其语法格式如下:

 

ORDER BY <字段名> [ASC|DESC]

 

语法说明如下:

  • 字段名:表示需要排序的字段名称,多个字段时用逗号隔开。
  • ASC|DESC:ASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC为默认值。

使用ORDER BY 关键字应注意以下几个方面:

  • ORDER BY 关键字后可以跟子查询
  • 当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。
  • ORDER BY 指定多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。

 

--查询数据表数据
SELECT * FROM beimu

MYSQL 升序 MySQL升序关键字_MYSQL 升序

 

 

--这里我们查询所有学生,按照学生的年龄大小惊醒ORDER BY 排序

--降序

SELECT
  *
FROM
  beimu
ORDER BY
bei_age DESC

  执行结果:

MYSQL 升序 MySQL升序关键字_数据_02

 

 

 

--升序

SELECT
  *
FROM
  beimu
ORDER BY
bei_age ASC

  执行结果:

 

MYSQL 升序 MySQL升序关键字_字段_03

 

 

注意:在对多个字段进行排序时,排序的第一个字段必须有相同的值,才会对第二个字段进行排序。如果第一个字段数据中所有的值都是唯一的,MySQL 将不再对第二个字段进行排序。

默认情况下,查询数据按字母升序进行排序(A~Z),但数据的排序并不仅限于此,还可以使用 ORDER BY 中的 DESC 对查询结果进行降序排序(Z~A)。

ORDER BY 多列的时候,先按照第一个需要排序的列名排序,在按照第二个列名排序;

  •  ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。