按两列对 MySQL 表进行排序?

按两列对 MySQL 表进行排序?

数据库 2024-02-05 14:10:05 1年以前

借助以下语法按两列对 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)

注意 - 主要排序首先起作用。

文章版权声明:除非注明,否则均为网络转载文章,转载或复制请以超链接形式并注明出处。