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+,看起来应该很简单,但我被难住了。谢谢你的帮助。

SQL获取一个范围是另一个数字的数字

下面是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