SQL获取一个范围是另一个数字的数字
本文关键字:数字 范围是 另一个 一个 获取 SQL | 更新日期: 2023-09-27 18:06:05
我有一列价格分隔符,需要找到包含一定数量的行。它是这样设置的:
id | MinimumQuantity | Price
-----------------------------------
1 | 1 | 10
1 | 10 | 20
1 | 25 | 30
…这个量可以是任意数。如果需求量是1,我需要得到价格10(1-10),如果需求量是15,我需要得到价格20(10-25)如果需求量是100,我需要得到价格30 (25+)到目前为止,我有:
select Price from myTable where MinimumQuantity >= @myQuantity and id = @myID
…但这当然不会返回25+,看起来应该很简单,但我被难住了。谢谢你的帮助。
下面是mysql的正确查询:
SELECT `Price` from `myTable`
WHERE @myQuantity >= `MinimumQuantity` and `id` = @myID
ORDER BY `MinimumQuantity` ASC
LIMIT 1
for SQL server
SELECT top 1 [Price] from [myTable]
WHERE @myQuantity >= [MinimumQuantity] and [id] = @myID
ORDER BY [MinimumQuantity] ASC