ホームページ  >  記事  >  データベース  >  MySQL テーブルを 2 つの列でソートしますか?

MySQL テーブルを 2 つの列でソートしますか?

WBOY
WBOY転載
2023-09-04 19:53:101281ブラウズ

按两列对 MySQL 表进行排序?

次の構文を使用して、MySQL テーブルを 2 つの列でソートします -

order by yourColumnName1 DESC,yourColumnName2 DESC;

まず、例用のテーブルを作成しましょう -

mysql> create table OrderByDemo
   -> (
   -> StudentId int,
   -> StudentName varchar(100),
   -> StudentAge int
   -> );
Query OK, 0 rows affected (0.57 sec)

insert コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです。 -

mysql> insert into OrderByDemo values(1,'John',23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into OrderByDemo values(3,'Johnson',24);
Query OK, 1 row affected (0.27 sec)
mysql> insert into OrderByDemo values(4,'Carol',26);
Query OK, 1 row affected (0.14 sec)
mysql> insert into OrderByDemo values(2,'David',20);
Query OK, 1 row affected (0.13 sec)

次に、上記の構文を適用して、MySQL テーブル内の 2 つの列を並べ替えます。クエリは次のとおりです -

mysql> select *from OrderByDemo order by StudentId ASC, StudentAge ASC;

次は、2 つの列を昇順で並べ替えた出力です -

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         1 | John        |         23 |
|         2 | David       |         20 |
|         3 | Johnson     |         24 |
|         4 | Carol       |         26 |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

または、DESC コマンドを使用して降順で並べ替えることもできます。クエリは次のとおりです -

mysql> select *from OrderByDemo order by StudentId DESC,StudentAge DESC;

以下は出力です -

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         4 | Carol       |         26 |
|         3 | Johnson     |         24 |
|         2 | David       |         20 |
|         1 | John        |         23 |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

Note - プライマリ ソートが最初に行われます。

以上がMySQL テーブルを 2 つの列でソートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。