我有一张这样的表
A B ----------- 1.2 2.3 2.3 3.9 3.9 4.34 4.34 5.786
数据的含义是1.2-5.786是某些表的长度 1.2-2.3有一些属性 2.3-3.9有一些属性等等......但是当你认为它是整个表的长度时(例如这里)1.2 - 5.786。
我想运行一个查询,它会给我两个值之间的行:例如:
A = 1.1 amd B = 4.234
我很难弄清楚如何编写查询,我写的大多数查询都遗漏了一些边缘情况。
答案 0 :(得分:1)
这似乎运作良好:
select *
from yourtable
where (b > 1.1 and a <= 4.234)
基本上确保b大于下限,a小于或等于上限。根据您所需的结果,您可能需要将b >
更改为b >=
。
答案 1 :(得分:0)
例如,如果您想要A =1.1 amd B = 4.234
之间的值,则输出为
A B
1.2 2.3
2.3 3.9
然后查询是:
SELECT * from my_table WHERE A>=1.1 AND B<=4.234
但是如果你想要输出
A B
1.2 2.3
2.3 3.9
3.9 4.34
然后你想要查询
SELECT * FROM my_table WHERE A >= 1.1 AND A < 4.234 B > 4.234
答案 2 :(得分:0)
这听起来像你想要的
SELECT a, b
FROM my_table
WHERE A >= 1.1 AND B <= 4.234
OR A >= 1.1 AND A < 4.234
OR B > 1.1 AND B <= 4.234
这假设A总是&lt;乙