需要帮助构建查询。我有quantity_price表,列出数量和相应的价格如下所示
Quantity Price ---------------- 1 -- € 175,35 2.5 -- € 160,65 5 -- € 149,10 10 -- € 143,85
因此,最多1个数量价格将是175,35到2.5,它将是160,65等等。超过10个数量,价格将保持在143,85。
现在,如果我的数量是1.5,那么查询应该返回价格160,65,这意味着找到范围数量所在的位置,然后获得该范围内的最大数量的价格。
答案 0 :(得分:1)
使用where
语句查找大于1.5的所有行;然后使用limit
和order by
来获取数量最少的行。正如Petah评论的那样,总是包含数量最多的行是很方便的。例如:
select *
from quantity_price
where Quantity > 1.5
or Quantity = (select max(Quantity) from quantity_price)
order by
Quantity
limit 1
答案 1 :(得分:1)
select price
from quantity_price
where myquantity >= quantity
order by quantity
limit 1