标题: MySQL:ORDER BY 排序查询 [打印本页] 作者: 笑看天下无敌手 时间: 2024-8-4 06:27 标题: MySQL:ORDER BY 排序查询 通过 ORDER BY 条件查询语句可以查询到符合用户需求的数据,但是查询到的数据一般都是按照数据最初被添加到表中的顺序来显示。
根本语法
在MySQL中,排序查询重要通过ORDER BY子句实现。其根本语法如下:
SELECT column1, column2, ...
FROM table_name [WHERE condition]
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
复制代码
SELECT反面跟必要查询的列名,*代表查询全部列。
FROM反面跟数据表的名字。
[WHERE condition]是可选的,用于设置筛选条件。
ORDER BY反面指定排序列及其排序方式(升序ASC或降序DESC),默认为升序。
注意:
ORDER BY 关键字后可以跟子查询子句
当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。
执行顺序
当使用 ORDER BY 子句执行 SELECT 语句时,MySQL 会在 FROM 和SELECT 子句之后执行 ORDER BY 子句。
多字段排序
对多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。排序的第一个字段必须有类似的值,才会对第二个字段进行排序。假如第一个字段数据中全部的值都是唯一的,MySQL 将不再对第二个字段进行排序。
ORDER BY 结合 FIELD() 函数
FIELD() 函数用于返回一个值在指定列表中的索引位置 :
FIELD(value, value1, value2, ...);
复制代码
value 为必要查找索引的值,value1、value2…为用逗号分隔的值列表
FIELD 函数常用于排序利用,可以根据指定的值列表对结果排序,将符合值列表中的值的行置于前面。
示例:
SELECT *
FROM fruits
ORDER BY FIELD(name, 'banana', 'orange', 'apple');