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

相关内容

热门资讯

第4教材!随意玩怎么创建聚乐部... 第4教材!随意玩怎么创建聚乐部,蛮王辅助(有挂开挂辅助平台) 了解更多开挂安装加(136704302...
七指南书!道游互娱辅助免费版,... 七指南书!道游互娱辅助免费版,新518互游脚本(有挂开挂辅助下载);无需打开直接搜索加(薇:1367...
第二模块!随意玩正版房卡有开挂... 第二模块!随意玩正版房卡有开挂,天酷辅助器(有挂开挂辅助脚本)1、下载安装好随意玩正版房卡有开挂,进...
第六策略!新道游挂,新九方科技... 第六策略!新道游挂,新九方科技(有挂开挂辅助插件);无需打开直接搜索微信(136704302)咨询了...
3资料!随意玩最新跳转链接有辅... 3资料!随意玩最新跳转链接有辅助吗,微乐贵阳足鸡麻将开挂(有挂开挂辅助插件) 了解更多开挂安装加(1...
第八教程书!皇豪互众智能辅助器... 大家好,今天小编来为大家解答皇豪互众智能辅助器破解这个问题咨询软件客服可以免费测试直接加微信(136...
科普分享!孝感卡五星辅助,指尖... 指尖四川辅助脚本是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
透明神器!wpk辅助是真的吗,... 透明神器!wpk辅助是真的吗,德州局透视,德州论坛(有挂开挂辅助插件);无需打开直接搜索加薇1367...
1窍要!超级三加一辅助,新星游... 新星游辅助怎么购买是一款专注玩家量身打造的游戏记牌类型软件,在新星游辅助怎么购买这款游戏中我们可以记...
一分钟了解!黑科技辅助器,兴动... 兴动互娱辅助工具开挂教程视频分享装挂详细步骤在当今的网络游戏中,兴动互娱辅助工具作为一种经典的娱乐方...