gpt4 book ai didi

mysql - SQL选择同一个表,两个不同的顺序

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

使用 mySQL,我有一个表,其中有很多包含产品的行。每个产品都有包含名称、库存数量和上次购买日期的列。我想得到结果,其中所有库存量大于 0 的产品按名称排序(首先是该组),然后所有库存量为 0 的产品按上次购买排序。所以我不能使用 UNION 因为有两个顺序定义。以下是一些数据以便更好地理解:

表格数据:
名称 |库存|上次购买
--------------------------------------
产品1 | 0 | 2014-09-20
产品2 | 10 | 10 2014-09-20
产品3 | 0 | 2014-09-26
产品4 | 10 | 10 2014-09-20
产品5 | 0 | 2013-08-18

所需结果:
产品2 | 10 | 10 2014-09-20
产品4 | 10 | 10 2014-09-20 ...库存大于零的订单按名称ASC
产品1 | 0 | 2014-09-26
产品3 | 0 | 2014-09-20
产品5 | 0 | 2013-08-18 ... 这些是上次购买的空库存订单 DESC

由于分页,我需要它作为一个结果。

最佳答案

只需使用具有多个条件的 order by 子句即可:

order by (stock > 0) desc,
(case when stock > 0 then name end) asc,
(case when stock = 0 then lastpurchase end) desc;

关于mysql - SQL选择同一个表,两个不同的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050383/

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