gpt4 book ai didi

php - MySQL计算出多个列中最低的一个

转载 作者:搜寻专家 更新时间:2023-10-31 22:09:05 32 4
gpt4 key购买 nike

我有一张包含以下内容的表格:

+----+-------+-------+-----------+-----------+--------------+--------------+
| id | stock | price | usedStock | usedPrice | specialStock | specialPrice |
+----+-------+-------+-----------+-----------+--------------+--------------+
| #1 | 1 | 10.00 | 0 | 0 | 0 | 0 |
| #2 | 0 | 0 | 1 | 15.00 | 1 | 20.00 |
| #3 | 0 | 0 | 0 | 11.00 | 1 | 14.00 |
+----+-------+-------+-----------+-----------+--------------+--------------+

我想创建一个查询,如果商品类型有库存,则首先按最低价格订购。

因此查询将产生以下顺序:

#1 - 10.00 (because 10.00 is the lowest result)
#3 - 14.00 (because although 11.00 is less, it's not in stock)
#2 - 15.00 (because 15.00 is lower than 20.00)

我已将 PHP 标记添加到此问题,以防在选择表格后使用 PHP 进行计算的速度更快。

最佳答案

如果有货,我会以最低价格订购:

ORDER BY
LEAST(CASE WHEN stock THEN price ELSE GREATEST(price, usedPrice, specialPrice) END,
CASE WHEN usedStock THEN usedPrice ELSE GREATEST(price, usedPrice, specialPrice) END,
CASE WHEN specialStock THEN specialPrice ELSE GREATEST(price, usedPrice, specialPrice) END)

如果条件为真(>=1),每个CASE WHEN都会返回价格,否则返回最大的价格。 fiddle here .

关于php - MySQL计算出多个列中最低的一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14678138/

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