如何在单个查询中对多个列进行排序?

通过使用ORDER BY子句提供多个列名,我们可以在单个查询中对多个列进行排序。上面的语法如下-

语法

Select Col1,Col2,… from table_name ORDER BY Col1, Col2,…

示例

假设我们要对列名为“ Student”的表分别按“名称”和“ RollNo”列进行排序,则可以为此编写单个查询,如下所示:

mysql> Select Name, RollNo from student order by name,rollno;
+--------+--------+
| name   | rollno |
+--------+--------+
| Aarav  |    150 |
| Aryan  |    165 |
| Gaurav |    100 |
+--------+--------+
3 rows in set (0.00 sec)

上面的查询给出了'Name'和'Rollno'作为排序的输出。我们还可以获取表的所有列作为输出,如下所示:

mysql> Select * from student order by name,rollno;
+--------+--------+--------+
| Name   | RollNo | Grade  |
+--------+--------+--------+
| Aarav  |    150 | M.SC   |
| Aryan  |    165 | M.tech |
| Gaurav |    100 | B.tech |
+--------+--------+--------+
3 rows in set (0.00 sec)