MySQL ORDER BY 语句

用 ORDER BY 排序,ASC/DESC 与多列排序。

Beginner
Key PointsORDER BY 默认升序;多列排序从左到右依次比较。

基本用法

SQL
SELECT * FROM users ORDER BY age DESC;          -- 年龄从大到小
SELECT * FROM users ORDER BY age DESC, username ASC;  -- 先年龄后姓名
Output
+----+----------+-----+
| id | username | age |
+----+----------+-----+
|  2 | bob      |  32 |
|  1 | alice    |  29 |
|  3 | carol    |  25 |
+----+----------+-----+

与 LIMIT 配合分页

SQL
SELECT * FROM users ORDER BY id ASC LIMIT 10 OFFSET 20;  -- 第 3 页
ORDER BY on a non-indexed column triggers a filesort, slow at scale. Always order pagination by an indexed column (PK, created_at).

Friends & Partners