gpt4 book ai didi

mysql - 我可以从给定的数字开始订购 mysql 吗?

转载 作者:行者123 更新时间:2023-11-29 04:31:30 25 4
gpt4 key购买 nike

我在 mysql 表中有很多行。有一个 order_id 列。我想按两列排序,首先按 order_id,然后按 id(自动递增)。问题是我为 order_id 输入了 1、2、3、4、5...,而为其他输入了空白。在我的示例中,我想首先显示数字为 1、2、3、4 的行,但它显示的是空白 order_id 的行,因为它小于 1。有没有办法从 1 点开始下单?

例子:

id | order_id | name
1 | NULL | test name 1
2 | 1 | test name 2
3 | NULL | test name 3
4 | 2 | test name 4
5 | 3 | test name 5

我希望我的订单声明给出以下结果

test name 2
test name 4
test name 5
test name 1
test name 3

正如您从示例中看到的那样,我首先按从 1 开始的“order_id”列进行排序

感谢您的帮助。

最佳答案

缺失值是否用NULL表示?如果是这样,那么像这样的事情应该可以解决问题:

SELECT *
FROM your_table
ORDER BY IF(order_id IS NULL, 1, 0), order_id, id

如果缺失值不是 NULL,那么您需要相应地更改您的 IF 子句。例如,如果缺少的字段实际上是空字符串,那么您可能会改用如下内容:

SELECT *
FROM your_table
ORDER BY IF(order_id = '', 1, 0), order_id, id

关于mysql - 我可以从给定的数字开始订购 mysql 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1742941/

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