# Sorts

+ You can control the sort order using following keywords:
  + **`ASC`** and **`DESC`**
+ Column name: **`SELECT name FROM planets ORDER BY name;`**
+ Column order: **`SELECT name FROM planets ORDER BY 1;`**
+ Descending order: **`SELECT name FROM planets ORDER BY name DESC;`**
+ Multiple column combinations: **`SELECT name, ring_systems FROM planets ORDER BY ring_systems DESC, name ASC;`**
```
SELECT name, surface_pressure FROM planets ORDER BY surface_pressure ~!@ASC@!~;

SELECT name, surface_pressure FROM planets ORDER BY surface_pressure ~!@DESC@!~;
```

------------------------------------------------------------
- ORDER BY
  - The orderBy clause specifies the sort order of the results, which can be sorted by column, expression, or field somewhere in the select_expr list.
  - order by 1 means "order by the first field I selected"

```
tidb> SELECT name FROM planets ORDER BY name;
+---------+
| name    |
+---------+
| Earth   |
| Jupiter |
| Mars    |
| Mercury |
| Neptune |
| Pluto   |
| Saturn  |
| Uranus  |
| Venus   |
+---------+
9 rows in set (0.00 sec)

tidb> SELECT name FROM planets ORDER BY 1;
+---------+
| name    |
+---------+
| Earth   |
| Jupiter |
| Mars    |
| Mercury |
| Neptune |
| Pluto   |
| Saturn  |
| Uranus  |
| Venus   |
+---------+
9 rows in set (0.00 sec)

tidb> SELECT name FROM planets ORDER BY name DESC;
+---------+
| name    |
+---------+
| Venus   |
| Uranus  |
| Saturn  |
| Pluto   |
| Neptune |
| Mercury |
| Mars    |
| Jupiter |
| Earth   |
+---------+
9 rows in set (0.00 sec)

tidb> SELECT name, ring_systems FROM planets ORDER BY ring_systems DESC, name ASC;
+---------+--------------+
| name    | ring_systems |
+---------+--------------+
| Jupiter |            1 |
| Neptune |            1 |
| Saturn  |            1 |
| Uranus  |            1 |
| Earth   |            0 |
| Mars    |            0 |
| Mercury |            0 |
| Pluto   |            0 |
| Venus   |            0 |
+---------+--------------+
9 rows in set (0.00 sec)
```
