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

相关内容

热门资讯

透视真的!口袋上饶棋牌辅助,友... 1、透视真的!口袋上饶棋牌辅助,友友联盟免费辅助器,攻略教程(有挂透视)。2、友友联盟免费辅助器透视...
2024教程“边锋干瞪眼ios... 2024教程“边锋干瞪眼ios辅助微信”原来是有挂(辅助挂)详细辅助黑科技教程;1、2024教程“边...
九分钟辅助!掌中乐游戏中心破解... 九分钟辅助!掌中乐游戏中心破解器(辅助挂)本来真的是有挂(详细辅助AI教程);人气非常高,ai更新快...
两分钟辅助(微信小程序功夫川码... 两分钟辅助(微信小程序功夫川码辅助下载)确实有挂(详细辅助我来教教你);1、进入游戏-大厅左侧-新手...
透视教程!打哈儿小程序辅助,途... 您好,途游辅助软件网站这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
必备辅助推荐“hhpoker是... 必备辅助推荐“hhpoker是正规平台吗”其实是有挂(辅助挂)详细辅助科技教程1、超多福利:超高返利...
第4分钟辅助!微乐小程序游戏破... 第4分钟辅助!微乐小程序游戏破解器下载(辅助挂)原先是真的有挂(详细辅助爆料教程)是一款可以让一直输...
第二分钟辅助(福建大玩家辅助下... 第二分钟辅助(福建大玩家辅助下载)真是真的是有挂(详细辅助普及教程);福建大玩家辅助下载辅助器中分为...
透视科技!枫叶辅助脚本,新星游... 透视科技!枫叶辅助脚本,新星游辅助软件试用版,软件教程(有挂方法)准备好在新星游辅助软件试用版 ia...
记者爆料“美猴王房卡辅助”好像... 记者爆料“美猴王房卡辅助”好像是有挂(辅助挂)详细辅助必备教程1、许多玩家不知道辅助软件怎么退出观战...