首页 > 数据库 > mysql教程 > 如何对最后带有 NULL 值的 MySQL 结果进行排序?

如何对最后带有 NULL 值的 MySQL 结果进行排序?

Linda Hamilton
发布: 2024-12-09 00:29:09
原创
1037 人浏览过

How to Sort MySQL Results with NULL Values Last?

如何对最后带有空值的 MySQL 结果进行排序

当对带有数字列的 MySQL 结果进行排序时,空值可能会出现问题,因为它们是视为零。这可能会导致意外的排序,即空值出现在非空值之前。

为了解决此问题,MySQL 提供了一种未记录的语法,允许您将空值放在最后排序。这是通过在列名之前放置一个减号 (-) 并将 ASC 切换为 DESC 来实现的:

SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
登录后复制

此语法本质上反转了位置 DESC 排序,将空值放在最后,同时保持与非空值。

例如,如果您有以下数据:

NULL, NULL, NULL, 1, 2, 3, 4
登录后复制
登录后复制

使用标准ORDER BY position ASC, id DESC 语句将导致:

NULL, NULL, NULL, 1, 2, 3, 4
登录后复制
登录后复制

但是,使用 -position DESC 语法将产生所需的排序:

1, 2, 3, 4, NULL, NULL, NULL
登录后复制

此未记录的语法提供了方便的确保空值在 MySQL 结果中排在最后的方法。需要注意的是,这不是标准的 SQL 功能,并且可能并非所有数据库系统都支持。

以上是如何对最后带有 NULL 值的 MySQL 结果进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板