MySQL中order by排序时,数据存在null,排序在最前面

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【js刷题:数据结构链表之设计链表】

设计链表 一、题目二、题解 一、题目 二、题解 // 定义节点类,每个节点都有一个值和一个指向下一个节点的引用 class LinkNode{constructor(val,next){ // 构造函数,接收节点值和下一个节点的引用this.valval // 节点的值this.nextnext // 指…

欣赏一个尚未关闭的python运行时bug

这是一个语言的运行时错误,在linux环境,跨语言使用共享内存时,会触发。它会在python程序退出时,自行销毁sharedMemory,即便此时还有其他的进程在使用——这会让C/Python跨进程调用几乎没有办法进行。 python程序运行完…

校园科普气象站的工作原理

TH-XQ3校园科普气象站是学校为了进行气象科普教育而设立的一种特殊设施。它不仅是一个能够实时监测和记录各种气象参数的气象站,更是一个促进学生对气象科学兴趣和理解的重要平台。 校园科普气象站通常包括一系列的气象观测设备和相关的科普设施。这些设备包括但不限…

Ubuntu20.04调试功能包的一些报错解决办法【更新中2024.05.14】

一、Could not find a package configuration file provided by “catkin_virtualenv” 解决办法: sudo apt install ros-noetic-catkin-virtualenv二、 ERROR: Could not find a version that satisfies the requirement pip-tools5.1.2 (from versions: none) …

electron 使用两个页面(额外添加一个html文件)

需求:打开窗口 (加载本地的html页面) 并播放视频资源 环境 electron 28.1.3 electron-forge 7.2.0 思路:因为要加载新弹出一个窗口并播放资源,可以自己加载一个外部的页面或者加载一个本地的页面,使用本地的会好些。让electron-…

【制作100个unity游戏之26】unity2d横版卷轴动作类游戏5(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言三段攻击攻击设置只对敌人造成伤害限制可以移动攻击问题 角色连续按四下攻击,最后会多a一下问题:站在原地连续攻击野猪,只有第一下攻击野猪才掉血,后面的攻击野猪不掉血源码完结 …

深⼊理解指针(5)

目录 1. 回调函数是什么?1.1 使用回调函数修改 2. qsort使⽤举例2.1 使⽤qsort函数排序整型数2.2 使⽤qsort排序结构数据按年龄排序2.3 使⽤qsort排序结构数据按名字排序2.4整体代码 3. qsort函数的模拟实现3.1 整型数组的实现3.2 结构体按名字排序实现3.3 结构体按…

蓝桥杯练习系统(算法训练)ALGO-941 P0601字符删除

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch&#xff0c…

java数据结构与算法(二叉树中序遍历)

前言 二叉树的中序遍历是一种特定的遍历方法,按照左子树、根节点、右子树的顺序进行遍历。如果二叉树为空,则遍历结束并返回;否则,首先递归遍历左子树,然后访问根节点,最后递归遍历右子树 实现原理 中序…

JavaScript事件监听

JavaScript事件监听是指在某个元素上监听特定事件的触发,并在事件触发时执行相应的函数。事件可以是用户的鼠标操作、键盘操作、页面加载等等。 在JavaScript中,可以使用addEventListener方法来添加事件监听器。它接受三个参数:事件类型、要…

第3章Spring Boot进阶,开发社区核心功能【仿牛客网社区论坛项目】

第3章Spring Boot进阶,开发社区核心功能【仿牛客网社区论坛项目】 前言推荐项目总结第3章Spring Boot进阶,开发社区核心功能1.过滤敏感词2.发布帖子3.帖子详情4.事务管理5.显示评论6.添加评论7.私信列表8.发送私信9.统一处理异常10.统一记录日志 最后 前…

如何使用ffmpeg从mp3中删除ID3音频标签图像(或元数据)

本文介绍了如何使用ffmpeg从mp3中删除ID3音频标签图像(或元数据)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 FFMPEG确实是一个很棒的工具.我知道它可以编辑ID3标签,甚至可以连…

Date计算年龄:

方法一: Date dateSimpleDateFormat(“yyyy-MM-dd”).parse(“2000-08-19); LocalDate localDateLocalDate.now(); LocalDate localDate1date.toInstant.atZone(ZoneId.systemDefualt()).toLocalDate(); Int ageLocalDate localDate1.getYear()-LocalDate local…

照片误删如何恢复?这些方法帮你重拾回忆!

手机照片是我们记录美好时刻的重要工具。但有时我们会因为不小心或者错误操作而导致珍贵照片的丢失。那些与家人、朋友共度的美好时刻、旅途中的风景、重要的纪念日,一旦删除,就如同从记忆中抹去,令人惋惜不已。幸运的是,随着科技…

Spring AOP(概念,使用)

目录 Spring AOPAOP是什么什么是Spring AOPAOP实际开发流程1. 引入依赖2. 编写AOP程序 Spring AOP详解Spring AOP中的核心概念Spring AOP的通知类型六种类型PointCutOrder(切面优先级) Spring AOP AOP是什么 Aspect Oriented Programminig(面向切面编程)切面指的是某一类特定…

Oceanbase 4.3特性解析:用物化视图来优化复杂查询

如果你是一位数据分析师,需要在包含数百万行数据的数据库中频繁地检索特定信息,而每次这样的查询都伴随着复杂的计算,耗费大量时间和资源。你可以考虑采用物化视图这一功能,提高查询效率。 物化视图是什么? 物化视图…

加快推进新质生产力,利驰牵手央视栏目助推电气行业数字化

利驰成功入围《信用中国》 4月22日,《信用中国》栏目选题会在北京顺利举行。利驰软件(苏州)有限公司创始人令永卓受邀参加此次选题会,并成功入围了《信用中国》栏目,利驰软件借助栏目组进入品牌建设与创新的战略新征程。 《信用中国》是一档…

Java-数据库连接(JDBC小白教学)

!文章最后附有完整代码! 目录 🔖JDBC概述 🔖JDBC连接数据库 🔖添加数据(insert) 🔖修改数据(Update) 🔖删除数据(delete&#x…

【千帆AppBuidler】零代码构建AI人工智能应用,全网都在喊话歌手谁能应战,一键AI制作歌手信息查询应用

欢迎来到《小5讲堂》 这是《千帆平台》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景创建应用平台地址随机生成快速创建应用头像应用名称应用描述…

VMware Workstation 17.5.2 Pro 发布,产品订阅模式首个重大变更

VMware Workstation 17.5.2 Pro 发布,产品订阅模式首个重大变更 基于 x86 的 Windows、Linux 桌面虚拟化软件 请访问原文链接:https://sysin.org/blog/vmware-workstation-17/,查看最新版。原创作品,转载请保留出处。 作者主页…