MySQLorderby语句对null值排序今天在写sql中,遇到对 null 值进⾏排序的问题,发现在MySQL中,null为最⼩值。
如果我们在排序字段中,存在null的情况,那么我们需要⼿动指定 null 的顺序。
先看⼀下原始数据eclipse怎么把字体调大
mysql语句顺序将null值放在最后。
select *
from user
order by i f(isnull(rank), 1, 0),rank asc,create_time desc;
查询结果如下
sitting(先按rank升序,null放在最后,在对null值根据时间降序排列)
将null值放在最前
舍曲林能彻底治早泄吗文件汇编是什么意思select rank,create_time
from user网页设计素材内容
order by if(isnull(rank), 0, 1),rank asc,create_time desc;
总结
关键点在于if(isnull(字段名),0,1),将该字段根据是否为null值分成两个部分,null值相当于得到了隐藏的排序值0,⾮null值相当于得到了隐藏的排序值1,在排序时,先根据此隐藏的排序值进⾏排序,然后根据条件依次排序。if(isnull(rank), 0, 1) 相当于if(isnull(rank), 0, 1) asc,asc可省略不写。反之,也是如此。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论