MySQL中orderby顺序时,数据出现null,排序在最前方

原创
小哥 2年前 (2022-12-26) 阅读数 42 #大杂烩

order by排序是最常用的函数,但排序有时会遇到空数据null这种情况,所以排序会被打乱,在这里MySQL例如,记录我遇到的问题和解决方案。

问题:

要实现的网页table我使用行鼠标拖动排序。AngularJs集成aTableDnD开源插件,可以实现,然后向数据库表中添加排序字段indexId,但原始的大量数据未排序,因此字段为null。

这样order by时,为null数据将位于顶部。

编写测试表以模拟以下效果:

解决方案:

  • 最佳实践:使用MySQL一个小技巧是在字段前面加一个负号,即负号,ASC改成DESC ,DESC改成ASC

  • 重新生成新列,例如agenull,利用is null操作员,放置NULL值行变为1,非NULL值行变为0,先对字段排序,然后age排序

  • 直接利用isnull函数对age列求值与第一种方法相同。

尝试相同的方法。SQL Server和Oracle等数据库

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门