我需要查询以选择列之间的值,但一列具有相同的值 例如:
12 1
12 2
12 3 ------
12 4
12 5
13 1
13 2
13 3
13 4 ------
13 5
我需要的范围是12 | 3至13 | 4
select * from table1 where
((a >= '12' and B >= 2) and (a <= '13' and b <=5))
所以13 1丢失了:(我不知道这个查询
答案 0 :(得分:1)
我认为逻辑是:
where (a > 12 and a < 13) or
(a = 12 and b >= 3) or
(a = 13 and b <= 4)
当然,您也可以使用元组更简单地表达这一点:
where (a, b) >= (12, 3) and
(a, b) <= (13, 4)
答案 1 :(得分:1)
这肯定会起作用:
select * from Table1 where
(a=12 and b>=3) or(a=13 and b<=4);
答案 2 :(得分:0)
我认为可行:
从测试中选择* 其中(a = 12且b> 2)或(a = 13且b <5);