SELECT查询可通过ORDER BY对多列排序,语法为SELECT 列1,列2 FROM 表名 ORDER BY 列1 排序方式,列2 排序方式;排序优先级从左到右,默认升序ASC,降序需写DESC。

在 SQL 中,SELECT 查询可以通过 ORDER BY 子句对多列进行排序。你只需在 ORDER BY 后面列出多个列名,并用逗号分隔,每列可以指定升序(ASC)或降序(DESC)。
语法结构
基本语法如下:
SELECT 列1, 列2, ... FROM 表名 ORDER BY 列1 排序方式, 列2 排序方式, ...;说明:
- 排序方式默认是 ASC(升序),可省略
- 若要降序,需显式写 DESC
- 排序优先级从左到右:先按第一列排,相同值再按第二列排,以此类推
实际例子
假设有一个员工表 employees,包含字段:department, salary, name
按部门升序、薪资降序排列:
结果中:
- 所有记录先按 department 字母顺序排列
- 同一部门内,薪资高的排在前面
常见使用场景
多列排序适用于需要分层排序的业务需求,比如:
- 先按地区排,再按销售额排
- 先按日期排,再按时间戳排
- 先按状态分类,再按创建时间倒序显示
基本上就这些,关键在于理解排序的优先级是从左到右逐级细化的。










