有一个包含“价格”和“数量”列的表。
例如:
rec price qty
1. 10,00 1
2. 7,50 5
3. 5,00 25
4. 3,00 100
我需要选择数量为65的价格。这是记录3的价格。数量65在数量25和100之间。如何在sql查询中解决这个问题?
最佳答案
您可以使用内部 SQL 语句来解决该问题,该语句会尝试找到小于或等于您请求的数量 65 的最高数量:
select pce.price
from prices pce
join ( select max(qty) qty
from prices
where qty <= 65
) pce2
on pce.qty = pce2.qty
这里的pce2
是匹配prices
行的连接。 pce
表已连接,可以访问连接的所有字段。仅当 prices
中 qty
没有重复项时,此方法才能正常工作。
关于SQL select语句类似于Excel中垂直搜索近似匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41890934/