【发布时间】:2017-12-10 10:24:02
【问题描述】:
我想从我的 MySQL 数据库中选择每件商品的最低价格,但我不确定如何编写查询。
这是一个示例表。
id | price | quantity
1| $200 | 200
2| $1000 | 10
3| $5 | 1
在这种情况下,id 1 的价格/商品为 1 美元(200/200),id 2 为 100 美元(1000/10),id 3 为 5 美元(5/1),查询将返回 1 美元,因为它是最低价格/商品。
那么如何翻译成SQL呢?我想了想:
SELECT MIN(price)/200 WHERE quantity=200
但它只适用于硬编码的数量,我必须为每个 id 编写数量,并且不可能使用 1000 多种不同的价格和数量。所以我需要一些灵活的变量或其他东西,比如:
SELECT MIN(price)/quantity
但这不是正确的语法。 (或者它对我不起作用)
在MySQL中正确的写法是什么?
【问题讨论】:
-
您的价格列显示的是美元?
-
min(price/quantity)? -
@jarlh:这在语义上是不一样的。因为
MIN(price)可以选择与MIN(price/quantity)不同的行 -
@WillemVanOnsem,我没有把你带到这里。 OP 想要最低价格/商品。