gpt4 book ai didi

mysql - sql 按 int 排序,除了一个具有不同顺序的 int 值

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

我想对数据库中的记录列表进行排序。检索到的记录基于具有 int 值的列进行排序。可能的 int 值是 1,2,3,4,5。要求的排序顺序为1,3,2,4,5

所以我不能使用Order by table.a asc。我应该查询什么来检索所需的订单?例如我的表有如下记录

---------------------
name | to_order |
--------------------
n1 | 1
--------------------
n2 | 2
--------------------
n3 | 3
--------------------

我的查询结果应该是(n1,1),(n3,3),(n2,2)。

注意:我使用的是mysql

最佳答案

您可以将 case 语句添加到您的 order by 子句中

    SELECT name, to_order
FROM Table1
ORDER BY
(
CASE
WHEN to_order = 1 THEN 0
WHEN to_order = 3 THEN 1
ELSE 2
END
),
to_order

为 3 添加大小写,以便优先考虑其他数字。我将 1 作为案例包括在内,因为 1 仍应优先于 3

关于mysql - sql 按 int 排序,除了一个具有不同顺序的 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856181/

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