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