MySQL中order by排序遇到NULL值的问题及解决
更新时间:2025年10月24日 15:00:31 作者:文&文丑
文章讲述了使用ISNULL()函数在MySQL中处理NULL值时遇到的问题,特别是在处理经纬度计算出的距离字段时,问题在于ISNULL()函数在排序时不能正确处理NULL值,解决方法是通过在字段前面加上负号来改变NULL值的排序顺序,从而实现正确的排序
MySQL中order by排序遇到NULL值
使用ISNULL(字段)不生效
具体原因不清楚!
具体字段是经纬度计算出来的距离,小数位比较多,
正常查询如下:

然后使用的 ISNULL(字段)
排序不成功的结果如下:

问题解决
默认情况不下,MySQL会认为NULL值比其它类型的数值小,利用MySQL中的一个小技巧,在字段前面加上一个负号,也就是减号,ASC改为DESC ,DESC改为ASC

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MySQL之范式的使用详解
这篇文章主要介绍了MySQL之范式的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2020-10-10
MySQL 数据库对服务器端光标的限制
从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生成结果集,但不会将其传输到客户端,除非客户端请求这些行。
2009-03-03
解决MySQL 8.0以上版本设置大小写不敏感的问题
MySQL 8.0以上版本默认区分大小写,但在低版本(如5.7)中,可以通过在my.cnf配置文件的[mysqld]节下添加lower_case_table_names=1来设置大小写不敏感,本篇博客将介绍如何解决MySQL 8.0以上版本设置大小写不敏感的问题,需要的朋友可以参考下
2023-11-11
总结12个MySQL慢查询的原因分析
这篇文章主要介绍了总结12个MySQL慢查询的原因分析,慢查询,都是因为没有加索引。如果没有加索引的话,会导致全表扫描的,更多相关内容需要的朋友可以参考一下
2022-08-08
MySQL中使用MD5加密的实现
本文主要介绍了MySQL中使用MD5加密的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-08-08
MySQL创建用户以及用户权限详细图文教程
在MySQL中可以通过创建用户来管理数据库的访问权限,下面这篇文章主要给大家介绍了关于MySQL创建用户以及用户权限的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
2024-06-06
MySQL中“:=”和“=”的区别浅析
这篇文章主要给大家介绍了关于MySQL中":="和"="区别的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
2019-08-08
MySQL中的窗口函数使用及说明
这篇文章主要介绍了MySQL中的窗口函数使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
2023-12-12
最新评论