MySQL NULL 过滤和排序
MySQL 中使用 ORDER BY 排序数据时,空值被视为 0,导致所需排序不一致。要解决此问题,请考虑使用特殊语法将空值强制到排序列表的末尾。
要按升序对值进行排序并将空值放在末尾,请使用以下语法:
ORDER BY -position DESC
这会反转位置列的默认 ASC 排序,有效地将空值视为最高值。通过将其与 id 列的 DESC 排序相结合,您可以实现所需的排序:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
这将导致以下排序:
1, 2, 3, 4, NULL, NULL, NULL
请记住,此语法是MySQL 中未记录,并且可能并非在所有版本中都可用。要获得全面的参考,请参阅有关 ORDER BY 和附加标志的 MySQL 文档。
以上是如何对结尾为 NULL 值的 MySQL 数据进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!