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

mysqlmysqli database

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

语法

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

示例

假设我们想按列 ‘Name’ 和 ‘RollNo’ 对名为 ‘Student’ 的表进行排序,那么我们可以为此编写单个查询,如下所示 −

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)

相关文章