在 MySQL 中排序可以按特定列排列结果集。语法为:SELECT * FROM table_name ORDER BY column_name [ASC|DESC]。可排序多个列并使用表达式排序。默认空值视为最大值,但可使用 NULLS FIRST 或 NULLS LAST 控制其排序顺序。

MySQL 中如何排序
在 MySQL 中,排序是一种根据特定列或表达式对结果集进行排列的过程。排序可以简化筛选和查找特定数据。
语法
SELECT * FROM table_name ORDER BY column_name [ASC|DESC]
其中:
-
*表示选择所有列 -
table_name是要排序的表名 -
column_name是要排序的列名 -
ASC升序排列(从小到大) -
DESC降序排列(从大到小)
排序多个列
可以使用逗号分隔要排序的多个列。顺序按所列的顺序应用:
SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC
表达式排序
除了列名外,还可以使用表达式对结果集进行排序:
SELECT * FROM table_name ORDER BY (column1 + column2) DESC
空值处理
默认情况下,MySQL 将空值视为最大值。可以使用 NULLS FIRST 或 NULLS LAST 语句来控制空值的排序顺序:
SELECT * FROM table_name ORDER BY column_name ASC NULLS FIRST
示例
要按 name 列升序对 customers 表进行排序,可以执行以下查询:
SELECT * FROM customers ORDER BY name ASC
要按 total_sales 列降序并按 customer_id 列升序对 orders 表进行排序,可以执行以下查询:
SELECT * FROM orders ORDER BY total_sales DESC, customer_id ASC










