MySQL中order by排序时,数据存在null,排序在最前面
创始人
2025-01-15 12:09:49
0

order by排序是最常用的功能,但是排序有时会遇到数据为空null的情况,这样排序就会乱了,这里以MySQL为例,记录我遇到的问题和解决思路。

sql 排序为 null 值问题:

排序时我们用 receive_date(一个统计的时间,里面有较多的null) 排序,那么在倒序时因为 receive_date 的值 有null的 所以会排在最前面,有值的排在后面。

order by managerapply.receive_date desc, mi.item_code

这样order by时,为null的数据就会排在最前边。

解决办法:

法一:加负号

最优办法:利用MySQL中的一个小技巧,在字段前面加上一个负号,也就是减号,ASC改成DESC ,DESC改成ASC

order by -managerapply.receive_date asc, mi.item_code

好家伙,忘记时间加负号那是啥?所以该方法不可以取,针对字符类或者数值类的可以吧。如age?

法二:排序字段加 is null

我们可以在排序添加加上 is null 这个在加排序条件 空值就会排在后面,其他正常排序

order by managerapply.receive_date is null, managerapply.receive_date desc, mi.item_code

法三:新增一列排序字段的null值映射

如:重新给age生成一列,比如receive_datenull,利用is null操作符,把NULL值的行变成1,非NULL值的行变成0,先对该字段排序,再对age排序(这种方法第二种方法的解读,明白is null的用法和原理!!!)

相关内容

热门资讯

8分钟辅助!九游破解辅助插件,... 8分钟辅助!九游破解辅助插件,微乐小程序辅助器出租,指南教程(有挂神器)-哔哩哔哩1、让任何用户在无...
两分钟下载!hhpoker脚本... 两分钟下载!hhpoker脚本下载,hhpoker万能辅助器(透视)切实真的是有挂(哔哩哔哩)1、玩...
透视游戏!微友联盟辅助下载,模... 透视游戏!微友联盟辅助下载,模拟器打开hhpoker(透视)总是有挂(哔哩哔哩)1、起透看视 微友联...
4分钟插件!点点长牌辅助,微信... 4分钟插件!点点长牌辅助,微信小程序自动透视免费,机巧教程(有挂app)-哔哩哔哩一、微信小程序自动...
第八分钟下载!wejoker免... 第八分钟下载!wejoker免费脚本,wepoker-h5下载(透视)果然真的有挂(哔哩哔哩)1)w...
这一现象值得深思!小程序微乐游... 这一现象值得深思!小程序微乐游戏辅助器,pokemmo脚本辅助器(透视)确实存在有挂(哔哩哔哩)这一...
第1分钟安装!心悦游戏填坑辅助... 第1分钟安装!心悦游戏填坑辅助器,四川熊猫辅助软件免费,机巧教程(有挂修改器)-哔哩哔哩1)四川熊猫...
第五分钟教程!德普之星辅助工具... 第五分钟教程!德普之星辅助工具如何设置,德普之星有透视辅助吗(透视)本来存在有挂(哔哩哔哩)1、任何...
透视游戏!微信小程序游戏破解微... 透视游戏!微信小程序游戏破解微乐游戏,wepoker私人局辅助器怎么用(透视)果然有挂(哔哩哔哩)1...
第六分钟安装!微信道游拼十辅助... 第六分钟安装!微信道游拼十辅助器,同乡游辅助工具,总结教程(有挂辅助)-哔哩哔哩1、下载好微信道游拼...