MySQL ORDER BY(排序) 语句详细说明以及案例
2025-03-06
56
参考资料
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开始)代替列名进行排序。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . 宝塔 | 西里网》 -- 发布时间:2025-03-29
本页链接:https://bt.ciilii.com/show/news-25.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
