gpt4 book ai didi

php - Mysql查询中的双序

转载 作者:行者123 更新时间:2023-11-29 12:21:03 25 4
gpt4 key购买 nike

我的 SQL 查询中的排序存在一些问题。

表“产品”中有 2 个字段(“价格”和“库存”)。我想要做的是按这两个字段对查询结果进行排序 - 按“in_stock”和“price”。但是(!)一件重要的事情是将“in_stock”订购为 bool 值。例如表是:

Name       | Price | in_stock |
----------------------------------|
Product1 | 100 | 9 |
Product2 | 200 | 0 |
Product3 | 500 | 4 |
Product4 | 500 | 0 |
Product5 | 300 | 2 |

所以正确的顺序结果是:

Product1 - 100, 9
Product5 - 300, 2
Product3 - 500, 4
Product2 - 200, 0
Product4 - 500, 0

第一步 - 按库存订购产品 - 如果产品缺货,则必须位于列表末尾。按价格对产品进行排序 - 从最低到最高。

最佳答案

您可以在 order by 子句中使用条件:

select name, price, in_stock
from yourtable
order by in_stock = 0, price

这将首先订购有库存的产品(无论有多少),然后按价格订购。

<小时/>

或者您可以使用 case 语句对结果进行排序:

order by case when in_stock > 0 then 0 else 1 end, price

关于php - Mysql查询中的双序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28989566/

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