1

顧客用の mysql テーブルがあります。姓ではアルファベット順に機能しますが、名では機能しません。異なる列にあるためです。

これが私のコードです:

SELECT id, firstname, lastname, address From customers Order by lastname

これが今の結果です:

lastname | firstname | address <br>
Ford     | Jhon      | Dallas
Bush     | Emil      | Orlando (This should be after the next one [Brian])
Bush     | Brian     | Los Angeles

姓と名を一緒に並べるにはどうすればよいですか?

4

5 に答える 5

4

マニュアルに記載されているように:

複数の列を並べ替えることができ、異なる列を異なる方向に並べ替えることができます。たとえば、動物の種類で昇順で並べ替え、次に動物の種類内で生年月日で降順 (最も若い動物が最初) で並べ替えるには、次のクエリを使用します。

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
于 2012-06-07T19:10:21.257 に答える
2

ORDER BY には複数のエントリを含めることができます。

Order by lastname, firstname
于 2012-06-07T19:10:21.390 に答える
1

クエリは次のようになります: SELECT id, firstname, lastname, address FROM顧客ORDER BY lastname, firstname

于 2012-06-07T19:12:23.627 に答える
1

このクエリを試す

SELECT `id`, `firstname`, `lastname`, `address` FROM `customers` 
ORDER BY `firstname` ASC ,`lastname` ASC
于 2012-06-07T19:24:19.320 に答える
1

次の方法で、ご注文に名を含めてください。

SELECT id, firstname, lastname, address From customers Order by lastname, firstname
于 2012-06-07T19:10:34.003 に答える