按兩個列對 MySQL 表進行排序?


藉助下面語法按兩個列對 MySQL 表進行排序 −

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)

使用插入命令向表中插入記錄。查詢如下所示 −

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 表中的兩個列進行排序。查詢如下所示 −

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

以下輸出按升序對兩列進行排序 −

+-----------+-------------+------------+
| 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)

− 首先進行主排序。

更新於:30-Jul-2019

494 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.