📜  MySQL ORDER BY子句(1)

📅  最后修改于: 2023-12-03 15:17:46.075000             🧑  作者: Mango

MySQL ORDER BY子句

MySQL中的ORDER BY子句用于根据一个或多个列对查询结果进行排序。可以按升序或降序排列。

语法
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

其中,column1, column2, ...是需要排序的列的名称,ASC表示升序,DESC表示降序。如果不指定排序方式,默认排序方式为升序。

例如,对一个名为students的表按学生ID升序排列:

SELECT *
FROM students
ORDER BY student_id ASC;
多列排序

可以按照多列进行排序,只需在ORDER BY子句中指定多个列名即可。

例如,对一个名为students的表,首先按照年级升序排序,然后按照分数降序排序:

SELECT *
FROM students
ORDER BY grade ASC, score DESC;
NULL值排序

在默认情况下,NULL值在排序时会被视为最小的值。也可以通过在ORDER BY子句中指定NULLS FIRST或NULLS LAST方式来确定NULL值在排序中应该排在前面还是后面。

例如,对一个名为students的表按分数进行升序排序,但希望NULL值在最后,可以使用以下语句:

SELECT *
FROM students
ORDER BY score ASC NULLS LAST;
总结

ORDER BY子句是MySQL中非常常用和重要的子句之一。可以通过它对查询结果按照指定的方式进行排序,非常灵活方便。同时,对于处理NULL值的情况,也提供了非常便利的功能。