gpt4 book ai didi

sql - ORDER BY 列 = 值 desc|asc

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

我不久前找到了这段代码,但我似乎没有找到任何关于它是如何工作的解释:

SELECT account_id from accounts order by account_id = 100;

所以,我知道 order by [column] desc|asc 对结果集做了什么。但我似乎没有找到为 [column] 赋值的解释,以及它如何影响结果集。它显然受到了影响,但我似乎没有找到规律。

最佳答案

尝试在 ORDER BY 子句中使用显式 CASE 表达式重写您的查询:

SELECT account_id
FROM accounts
ORDER BY CASE WHEN account_id = 100 THEN 1 ELSE 0 END;

您将观察到所有具有 account_id != 100 的记录将出现在所有符合此条件的记录之前。当您使用时:

ORDER BY account_id = 100

然后您将按 bool 相等性本身进行排序。因此,当为真时,它的计算结果为零,而当为真时,它的计算结果为一。

关于sql - ORDER BY 列 = 值 desc|asc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58519879/

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