介绍
默认情况下,MySQL将null算作最小值。如果想要手动指定null的顺序,可以使用:
1.将null强制放在最前:
if(isnull(字段名),0,1) asc //asc可以省略
2.将null强制放在最后
if(isnull(字段名),0,1) dsc
if(isnull(字段名),1,0) asc //asc可以省略
解释
对于这种使用方式的理解:
以if(isnull(字段名),0,1)为例,它的意思是将该字段根据是否为null值分成两部分,值为null行相当于得到了一个隐含的排序属性0,值为非null的行相当于得到了一个隐含的排序属性1,在排序的时候,先根据这一隐含属性进行升序排列,因为if(isnull(字段名),0,1)相当于if(isnull(字段名),0,1) asc省略了asc而已,所以自然地,排序字段为null的那些行(隐含排序属性)会在最前。对于将null强制放在最后的语句的理解以此类推。
觉得写的还不错的小伙伴,请作者喝杯咖啡☕️ ,支持一下。
如有侵权请立即与我们联系,我们将及时处理。联系邮箱:865934097@qq.com
公众号文章:公众号文章
关注公众号: