我有一个包含以下数据的表:
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
任何帮助表示赞赏。
答案 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。