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的用法和原理!!!)

相关内容

热门资讯

在玩家背景下!红龙poker有... 在玩家背景下!红龙poker有辅助吗,聚星ai辅助工具收费多少(透视)指南教程(竟然存在有挂)1、每...
透视有挂!新九五有没有脚本,新... 透视有挂!新九五有没有脚本,新二号辅助软件多少钱(开挂)原来是真的挂(有挂解密)-哔哩哔哩亲,关键说...
透视必备!哈糖大菠萝可以开挂吗... 透视必备!哈糖大菠萝可以开挂吗(透视)wepoker透视有吗,教程讲义(有挂技巧)-哔哩哔哩1、进入...
近期!aapoker公共底牌,... 近期!aapoker公共底牌,aapoker如何设置胜率(透视)法门脚本(本来是有挂)-哔哩哔哩1、...
透视脚本!钱塘十水三挂件,小程... 透视脚本!钱塘十水三挂件,小程序微乐游戏辅助器(开挂)真是是真的挂(有挂方针)-哔哩哔哩1、金币登录...
据目击者称!购买的wpk辅助在... 据目击者称!购买的wpk辅助在哪里下载,德州来玩辅助器(透视)手册教程(一贯真的是有挂)1、任何购买...
透视辅助!wpk可以透视吗(透... 透视辅助!wpk可以透视吗(透视)wejoker辅助软件视频,教程绝活(果真有挂)-哔哩哔哩1、用户...
据相关数据显示!hhpoker... 据相关数据显示!hhpoker智能辅助插件,hhpoker开挂教程(透视)法门脚本(原来真的是有挂)...
透视模拟器!海南琼崖海海南辅助... 透视模拟器!海南琼崖海海南辅助,财神十三张福袋多少钱(开挂)原来有挂(有挂规律)-哔哩哔哩1、完成财...
围绕透视问题!哈糖大菠萝免费辅... 围绕透视问题!哈糖大菠萝免费辅助器,来玩app破解版(透视)技法教程(一贯存在有挂)1、操作简单,无...