sql在两列语句之间

zrfyljdw  于 2021-06-20  发布在  Mysql
关注(0)|答案(5)|浏览(312)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两年前关门了。
改进这个问题
我的数据:

id    a       b     price
1     2.00    1.00  2.50
2     2.00    2.00  3.00
3     3.00    1.00  4.50
4     3.00    2.00  2.50
5     3.00    3.00  3.00
6     4.00    1.00  4.50

我的问题是,如何从列a和列b(而不是列id)中获取id为2到4、sql“between”的数据

2     2.00    2.00  3.00
3     3.00    1.00  4.50
4     3.00    2.00  2.50

我的代码sql(但不工作):

sql = "SELECT * FROM data_table  WHERE (( BETWEEN (a = 2.00, b  = 2.00 ) AND ( a = 3.00, b = 2.00  ))";
deyfvvtc

deyfvvtc1#

试试这个:

SELECT * FROM data_table WHERE id BETWEEN (SELECT id FROM data_table WHERE a=2.00 AND b=2.00)  AND (SELECT id FROM data_table WHERE a=3.00 AND b=2.00)
7tofc5zh

7tofc5zh2#

你可以用 BETWEEN 对于两列。

sql = "SELECT * FROM data_table  WHERE a BETWEEN 2 AND 3 AND b BETWEEN 2 AND 4";

一定要用 AND 以及 OR 在两个约束之间。

dzjeubhm

dzjeubhm3#

不知道你为什么要把查询弄复杂。试试这个

Select * from data_table  where id between 2 and 4
b1zrtrql

b1zrtrql4#

如果我正确理解了您的问题,您希望得到列a和列b的值介于2和4之间的行
尝试此查询

SELECT *
FROM data_table 
WHERE (a BETWEEN 2 AND 4)
AND (b BETWEEN 2 AND 4)
f2uvfpb9

f2uvfpb95#

Select * from data_table where (a > 1 and a < 5 ) or (b > 1 and b < 5)

或者你可以限制性地使用following

Select * from data_table where (a > 1 and a < 5 ) and (b > 1 and b < 5)

相关问题