参考资料

  1. MySQL 命令详细说明以及案例
  2. MySQL UPDATE 更新详细说明以及案例
  3. MySQL 运算符详细说明以及案例
  4. 使用 MySQL 二进制方式连接
  5. MySQL LIKE 子句详细说明以及案例
  6. MySQL 删除数据库详细说明以及案例
  7. MySQL 插入数据详细说明以及案例
  8. MySQL NULL 值处理详细说明以及案例

MySQL中的ORDER BY语句用于对查询结果进行排序。它可以按照一个或多个列进行排序,并且可以指定升序(ASC)或降序(DESC)排序。

语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
  • column1, column2, ...:要排序的列。

  • ASC:升序排序(默认)。

  • DESC:降序排序。

案例

假设有一个名为employees的表,结构如下:

idnameagesalary
1Alice305000
2Bob254500
3Charlie356000
4David284800

案例1:按单个列排序

salary列升序排序:

SELECT * FROM employees
ORDER BY salary ASC;

结果:

idnameagesalary
2Bob254500
4David284800
1Alice305000
3Charlie356000

案例2:按多个列排序

先按age升序排序,再按salary降序排序:

SELECT * FROM employees
ORDER BY age ASC, salary DESC;

结果:

idnameagesalary
2Bob254500
4David284800
1Alice305000
3Charlie356000

案例3:按列位置排序

按查询结果中的第3列(age)降序排序:

SELECT name, age, salary FROM employees
ORDER BY 3 DESC;

结果:

nameagesalary
Charlie356000
Alice305000
David284800
Bob254500

注意事项

  • 如果未指定排序方式,默认按升序(ASC)排序。

  • 可以按多个列排序,优先级从左到右。

  • 可以使用列的位置(从1开始)代替列名进行排序。