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开始)代替列名进行排序。

本篇文章内容来源于:MySQL ORDER BY(排序) 语句详细说明以及案例