一尘不染

Mysql:在两列之间选择值

sql

我正在尝试在2列之间选择一个值。这是我的数据集

id    from    to    price
1     0.00    2.00  2.50
2     2.00    3.00  3.00
3     3.00    4.00  4.50

我的目标是(如果我的值为2)是选择 ID为1 (在from和to之间)的行。所以这是我正在使用的查询:

select * from table where 2 between from and to;

这是MySQL执行此查询时返回的结果:

id    from    to    price
1     0.00    2.00  2.50
2     2.00    3.00  3.00

我正在寻找的结果如下:

id    from    to    price
1     0.00    2.00  2.50

我尝试使用<和>等。但是,我总是得到两个结果。任何帮助将非常感激。


阅读 212

收藏
2021-03-10

共1个答案

一尘不染

所以,您不希望下限具有包容性,对吗?

SET @value = 2;
SELECT * FROM table WHERE from > @value AND @value <= to;
2021-03-10