如果数量更大,MYSQL选择最大值

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (36)

我有一个包含以下数据的表:

product_id         qty       price_reduction
     1               1              5
     1               2              10
     1               3              15

如果qty大于3,我怎样才能最大限度地降价(-15)。现在我使用这个查询,由于显而易见的原因,它不能做我想做的事情:

SELECT price_reduction 
  FROM table
 WHERE product_id = 1
   AND qty = '$qty' 
 LIMIT 1

任何帮助赞赏。

提问于
用户回答回答于

如果您只是想获得单个结果,那么将结果过滤到那些<= :qty,按顺序排序qty DESC,并将结果限制为一个结果应该有效。

SELECT price_reduction
FROM table
WHERE product_id = 1
AND qty <= :qty
ORDER BY qty DESC
LIMIT 1

这是一个有效的SQL小提琴

扫码关注云+社区

领取腾讯云代金券