gpt4 book ai didi

sql - 按整数排序,底部空白字段

转载 作者:行者123 更新时间:2023-12-01 07:09:03 25 4
gpt4 key购买 nike

我们目前正在重写我们的 CMS,我们希望我们的客户能够使用“位置”字段重新排序表中的项目。因此,如果他们将一个项目标记为位置 1,则它位于顶部,然后将其标记为 2,以此类推。

问题是我们不希望他们每次都必须填写一个职位,只有当他们想要重新订购某些东西时,职位字段才会经常是空白的。所以你可能有以下...

汽车 - 1

自行车 - 2

房子

计算机



这会导致问题,因为如果您使用以下 SQL...

SELECT ProductName FROM Products ORDER BY Position DESC;

所有空白的都到顶部,而不是底部。

可以使用 SQL 语句将它们按正确的顺序排列吗?

最佳答案

SELECT ProductName
FROM Products
ORDER BY
CASE WHEN Position is null THEN 1 ELSE 0 END,
Position

如果您想按位置降序排序,同时在底部保持空值,可以这样做:
ORDER BY
CASE WHEN Position is null THEN 1 ELSE 0 END,
Position desc

如果您想要一致的排序(您可能正在分页),那么在末尾添加 ProductName 或 ProductID 以打破未定位产品之间的所有联系。
ORDER BY
CASE WHEN Position is null THEN 1 ELSE 0 END,
Position,
ProductID

关于sql - 按整数排序,底部空白字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944629/

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