如何在sql的另一个范围内搜索值范围

时间:2011-11-22 09:47:13

标签: sql search range

我有一个表格,我在创建产品详细信息时输入最低价格和最高价格。在产品搜索中,我还有两个名为min和max的字段。那么考虑到插入产品时给出的范围,我怎样才能得到给定范围的结果

产品

min  max

10    15
15    30
20    30 

在搜索表单中,我将min插入5,最大值为16.我将在结果中得到哪些产品,并考虑实际情况,找出最佳的搜索理论。

3 个答案:

答案 0 :(得分:3)

比较每个范围的两端以找到重叠中的产品:

select * from products
where min < $max and max > $min

此方法也适用于日期范围。

答案 1 :(得分:1)

select * from products where min>=5 and max<=16

基于此,你将得到

行 - &gt; 10,15

答案 2 :(得分:0)

  

BETWEEN 运算符选择两个值之间的数据范围。值可以是数字,文本或日期

SQL BETWEEN Operator tutorial

例如:

SELECT * FROM Product
WHERE price
BETWEEN $min AND $max