SQL select语句类似于Excel中的垂直搜索近似匹配

时间:2017-01-27 09:44:17

标签: sql exact-online invantive-sql

有一个包含'price'和'quantity'列的表格。

e.g:

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查询中解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以使用内部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的{​​{1}}中没有重复项时,此功能才能正常运行。