您的位置:首页 > 数据库 > MySQL

MySQL使用Order By排序将NULL值排在最后

2012-05-14 17:05 281 查看
在MySQL中查询使用Oreder By ASC子句时,默认会把NULL值所在行排在最前面,但我们希望把NULL值排到最后面,这时候需要在编写SQL语句使用一点技巧。那就是ISNULL(排序字段),排序字段 ASC

数据表实例(表名为register)

name sortrank

ZHANG NULL

WANG NULL

LI U 1

ZHAO 2

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

SELECT fcwr.*,space.f_name FROM `xinmeili`.`$table` fcwr LEFT JOIN `xinmeili`.`uchome_space` space ON fcwr.uid = space.uid WHERE fcwr.checked = 1 ".$where." ORDER BY fcwr.sortrank

为了把NULL放到后面,需要把上面的SQL语句修改成下面的样子
SELECT fcwr.*,space.f_name FROM `xinmeili`.`$table` fcwr LEFT JOIN `xinmeili`.`uchome_space` space ON fcwr.uid = space.uid WHERE fcwr.checked = 1 ".$where." ORDER BY isnull(fcwr.sortrank),fcwr.sortrank ASC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: