マニュアルに記載されているように:
複数の列を並べ替えることができ、異なる列を異なる方向に並べ替えることができます。たとえば、動物の種類で昇順で並べ替え、次に動物の種類内で生年月日で降順 (最も若い動物が最初) で並べ替えるには、次のクエリを使用します。
mysql> SELECT 名前、種、出生 FROM ペット
-> ORDER BY 種、出生 DESC;
+------------+---------+------------+
| | 名前 | 種 | 誕生 |
+------------+---------+------------+
| | チャーピー | 鳥 | 1998-09-11 |
| | ウィスラー | ウィスラー 鳥 | 1997-12-09 |
| | 爪 | 猫 | 猫 | 1994-03-17 |
| | ふわふわ | 猫 | 猫 | 1993-02-04 |
| | 牙 | 牙 | 犬 | 犬 | 1990-08-27 |
| | クッパ | 犬 | 犬 | 1989-08-31 |
| | バフィー | バフィー | 犬 | 犬 | 1989-05-13 |
| | パフボール | ハムスター | 1999-03-30 |
| | スリム | ヘビ | 1996-04-29 |
+------------+---------+------------+
キーワードは、そのDESC
直前の列名にのみ適用されます ( birth
)。species
列のソート順には影響しません。
したがって、あなたの場合:
SELECT id, firstname, lastname, address FROM customers ORDER BY lastname, firstname