检查两个值是否重叠低值和高值

时间:2009-12-02 17:29:41

标签: mysql

我在这里苦苦挣扎。

在我的MySQL数据库中,我有一个如下所示的表:

id | lower | upper
1  | 0     | 120
2  | 121   | 200
3  | 201   | 500 

现在,我的表单发布了两个值,例如121和300。

什么查询可以获得那些121到300与下面和上面的列重叠的行?

在这个例子中,这些行是:2和3

我无法理解......

2 个答案:

答案 0 :(得分:0)

SELECT * FROM Table1
WHERE lower <= 300 AND upper >= 121

答案 1 :(得分:0)

SELECT * 
FROM table 
WHERE (121 <= lower AND 300 >= lower) OR (121 <= upper AND 300 >= upper)

这完美无缺