我有一列价格中断,需要查找包含特定数量的行。它设置如下:
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+,看起来它应该很简单,但我很难过。谢谢你的帮助。
答案 0 :(得分:2)
这里是对mysql的正确查询:
SELECT `Price` from `myTable`
WHERE @myQuantity >= `MinimumQuantity` and `id` = @myID
ORDER BY `MinimumQuantity` ASC
LIMIT 1
用于sql server:
SELECT top 1 [Price] from [myTable]
WHERE @myQuantity >= [MinimumQuantity] and [id] = @myID
ORDER BY [MinimumQuantity] ASC