gpt4 book ai didi

MySQL 按数字排序,最后为空

转载 作者:行者123 更新时间:2023-11-29 19:04:07 25 4
gpt4 key购买 nike

目前我正在我的语句中执行一个非常基本的 OrderBy。

SELECT * FROM tablename WHERE visible=1 ORDER BY position ASC, id DESC

这样做的问题是“位置”的 NULL 条目被视为 0。因此,所有位置为 NULL 的条目都会出现在 1、2、3、4 的条目之前。例如:

NULL, NULL, NULL, 1, 2, 3, 4

有没有办法实现以下排序:

1, 2, 3, 4, NULL, NULL, NULL.

最佳答案

MySQL 有一个未记录的语法来对空值进行最后排序。在列名称前放置一个减号 (-),并将 ASC 切换为 DESC:

SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC

它本质上与将 NULL 值放在最后的position DESC相反,但在其他方面与position ASC相同。

这里有一个很好的引用http://troels.arvin.dk/db/rdbms#select-order_by

关于MySQL 按数字排序,最后为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43645429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com