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

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

Linda Hamilton
Linda Hamilton原创
2024-12-09 00:29:09979浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn