MySQL 排序使 null 排最后

MySQL 排序使 null 排最后

第一种方法:

mysql 会把 null 当作最小值来排序,我们想根据某一字段升序【例如 sort】,又想让值为 null 排在最后面,可以在排序的字段加上负号,例如 -sort,这时 null 就变成最大值了,而其他非 null 值的排序也会反过来,这时再来个降序 desc,就可以实现根据某一字段升序,且值为 null 排在最后面

select sort from `table` order by -sort desc;

第二种方法:

也可以通过 isnull 判断某个字段是否为 null 进行排序,isnull(sort)

select sort from `table` order by isnull(sort);

参考:https://blog.csdn.net/sinat_18133641/article/details/106080743

你可能感兴趣的:(mysql,mysql)