gpt4 book ai didi

php - 如果 id 为 ='3',则始终位于底部(在 MySQL 中使用 `ORDER BY`)

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:41 25 4
gpt4 key购买 nike

id
----
0
2
1
3
7
1
6
3
1

我想在 MySQL 中使用 ORDER BYid 值进行降序排序。

但是如果id的值等于3,总是放在底部。

结果是这样的:

id
----
7
6
2
1
1
1
0
3
3

我该怎么办?

我的尝试:

SELECT id FROM `table` ORDER BY CASE WHEN id='3' THEN ??? END, id DESC

问号应该是什么?

最佳答案

除了 Tim 的回答之外,我还想尝试一下 bool 值:

SELECT
id
FROM
`table`
ORDER BY (id = 3), id DESC

自从 MySQL boolean表达式解析为 0/1这样我们就可以在这个特定场景中使用它。

id is equal to 3那么顺序看起来像 ORDER BY 1, <id> DESC .

对于 3 以外的任何其他 ID,它看起来像 ORDER BY 0, <id> DESC

此处演示:

SQLFiddle

关于php - 如果 id 为 ='3',则始终位于底部(在 MySQL 中使用 `ORDER BY`),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39095728/

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