排序结果第 2 部分
本课属于 Coddy SQL 学习旅程的“基础知识”单元。第 14 课,共 72 课。
在 SQL 中使用 ORDER BY 时,你可以按多个列对数据进行排序。
例如,来看下面的 competition 表:
| runner_id | age | avg_speed (m/s) |
|---|---|---|
| 1 | 47 | 3.65 |
| 2 | 62 | 3.07 |
| 3 | 57 | 6.82 |
| 4 | 56 | 4.34 |
| 5 | 25 | 4.93 |
| 6 | 40 | 3.94 |
| 7 | 23 | 6.58 |
| 8 | 40 | 3.43 |
SELECT *
FROM competition
WHERE age < 50
ORDER BY age DESC, avg_speed DESC此查询将:
- 首先按年龄降序排列所有记录(从高到低)
- 如果两条或更多记录的年龄相同,则按 avg_speed 降序排列这些记录(从高到低)
结果:
| runner_id | 年龄 | avg_speed (m/s) |
|---|---|---|
| 1 | 47 | 3.65 |
| 6 | 40 | 3.94 |
| 8 | 40 | 3.43 |
| 5 | 25 | 4.93 |
| 7 | 23 | 6.58 |
挑战
简单可用的表和列:
feathers:id、weight、area
按面积降序排列后,返回所有 id。如果羽毛的面积相同,则按重量升序排列。
亲手试试
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: SQL 在线编辑器