明道学苑

学而不思则罔,思而不学则殆

0%

如何在MySQL使用Order By时强制将NULL值排在最后

在MySQL中查询使用Oreder By ASC子句时,默认会把NULL值所在行排在最前面,有时候我们希望把NULL值排到最后面,这时候需要在编写SQL语句使用一点技巧。

数据表实例(表名为Person)

name	location
ZHANG NULL
WANG NULL
LI USA
ZHAO CHINA

当使用下面的语句查询时,NULL会被放在最前面:

select * from person order by location asc

为了把NULL放到后面,需要把上面的SQL语句修改成下面的样子:

select * from person order by isnull(location), location asc