結果の順序付け
ORDER BY句を使用して、主キー列または主キー以外の列を基準として結果を順序付けします。
必要な列を使用して順序付けするには、ORDER BY句でソート列を指定します:
主キー列を使用したORDER BY:
SELECT id, lastname FROM Users ORDER BY id;
+----+----------+
| id | lastname |
+----+----------+
| 1 | Morrison |
| 2 | Anderson |
| 3 | Morgan |
| 4 | Smith |
| 5 | Scully |
+----+----------+
主キー以外の列を使用したORDER BY:
SELECT id, lastname FROM Users ORDER BY lastname;
+----+----------+
| id | lastname |
+----+----------+
| 2 | Anderson |
| 3 | Morgan |
| 1 | Morrison |
| 5 | Scully |
| 4 | Smith |
+----+----------+
この例のデータを使用すると、複数の列を基準として順序付けできます。たとえば、年齢と収入を基準としてユーザーを順序付けするには、次のようにします。
SELECT id, lastname, age, income FROM Users ORDER BY age, income;
+----+----------+-----+--------+
| id | lastname | age | income |
+----+----------+-----+--------+
| 1 | Morrison | 25 | 100000 |
| 2 | Anderson | 35 | 100000 |
| 4 | Smith | 38 | 80000 |
| 3 | Morgan | 38 | NULL |
| 5 | Scully | 47 | 400000 |
+----+----------+-----+--------+
デフォルトでは、ソートは昇順で実行されます。降順でソートするには、ORDER BY句でDESCキーワードを使用します。
SELECT id, lastname FROM Users ORDER BY id DESC;
+----+----------+
| id | lastname |
+----+----------+
| 5 | Scully |
| 4 | Smith |
| 3 | Morgan |
| 2 | Anderson |
| 1 | Morrison |
+----+----------+