按两列对 MySQL 表进行排序?
mysqlmysqli database
使用以下语法按两列对 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)
使用 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 表中的两列进行排序。查询如下 −
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)
注意 − 主排序首先起作用。