挖坟,答案写法没有语法、语义的问题,但是写的不够精简,不是正常的order写法。
指出两点问题:1)ifnull指成'',再与''比较,可直接写成 sortnum is null;
2)可以直接用结果为bool表达式进行排序(asc),false(0)在前,true在后。
SQL为:
select *
from table
order by sortnum is null , sortnum
select *
from table
order by case when ifnull(sortnum,'')='' then 0 else 1 end desc, sortnum asc
试试,我没试,应该没问题