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

时间:2018-07-18 21:39:14

标签: mysql

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

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

如果数量大于3,如何获得最大降价(-15)。 现在,我使用此查询,由于明显的原因,它不执行我想要的操作:

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

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

如果您只想获得一个结果,则仅将结果过滤到<= :qty,按qty DESC排序,然后将结果限制为一个即可。

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

这是工作中的SQL Fiddle