gpt4 book ai didi

mysql - 关于订单的SQL问题

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

如何先列出 id x 的数据,然后按数字顺序列出?例如,我有这样的数据:

0,
1,
1,
0,
1,
2,
56,
4

我想要以下结果:

1,
1,
1,
0,
0,
2,
4,
56

此外,我希望 id 为 1 的项目的顺序为 x 列,而 id 不为 1 的项目的顺序为 y 列。

最佳答案

您可以使用 order by 子句中的条件来实现此目的。 MySQL 中有一个简单的方法:

order by (id = 1) desc, id;

当 id 具有指定值时,表达式 id = 1 的计算结果为 1。否则其值为 0。

order by 表示先按此表达式排序,然后再按 id 排序。

编辑:

如果您想按另一列对其他所有内容进行排序,并且这些列具有相同类型:

order by (id = 1) desc,
(case when id = 1 then x else y end)

否则,您可以将其拆分:

order by (id = 1) desc,
(case when id = 1 then x end),
(case when id = 1 then NULL else y end)

关于mysql - 关于订单的SQL问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685257/

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