MySQL ORDER BY(排序) 语句详细说明以及案例
2025-03-06
6
MySQL中的ORDER BY
语句用于对查询结果进行排序。它可以按照一个或多个列进行排序,并且可以指定升序(ASC)或降序(DESC)排序。
语法
SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
column1, column2, ...
:要排序的列。ASC
:升序排序(默认)。DESC
:降序排序。
案例
假设有一个名为employees
的表,结构如下:
id | name | age | salary |
---|---|---|---|
1 | Alice | 30 | 5000 |
2 | Bob | 25 | 4500 |
3 | Charlie | 35 | 6000 |
4 | David | 28 | 4800 |
案例1:按单个列排序
按salary
列升序排序:
SELECT * FROM employees ORDER BY salary ASC;
结果:
id | name | age | salary |
---|---|---|---|
2 | Bob | 25 | 4500 |
4 | David | 28 | 4800 |
1 | Alice | 30 | 5000 |
3 | Charlie | 35 | 6000 |
案例2:按多个列排序
先按age
升序排序,再按salary
降序排序:
SELECT * FROM employees ORDER BY age ASC, salary DESC;
结果:
id | name | age | salary |
---|---|---|---|
2 | Bob | 25 | 4500 |
4 | David | 28 | 4800 |
1 | Alice | 30 | 5000 |
3 | Charlie | 35 | 6000 |
案例3:按列位置排序
按查询结果中的第3列(age
)降序排序:
SELECT name, age, salary FROM employees ORDER BY 3 DESC;
结果:
name | age | salary |
---|---|---|
Charlie | 35 | 6000 |
Alice | 30 | 5000 |
David | 28 | 4800 |
Bob | 25 | 4500 |
注意事项
如果未指定排序方式,默认按升序(ASC)排序。
可以按多个列排序,优先级从左到右。
可以使用列的位置(从1开始)代替列名进行排序。
本篇文章内容来源于:MySQL ORDER BY(排序) 语句详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。