从介于之间的表中选择



请提供帮助建议。

我有一张桌子。

id|score_max|score_min| segment
--|---------|---------|--------
1 |264      |         |girl
2 |263      | 250     |girl+
3 |249      | 240     |girl
4 |         | 239     |girl

没有必要根据分数的值来获得值。但它可以为null。

例如,260是来自其他表的值

select segment
from mytable
where score_max<260 and score_min>260

输出:

2 |263      | 250     |girl+

但如果值=200,则sql不是正确的

如何正确提出请求?

对于这个更有意义的示例数据:

id|score_max|score_min| segment
--|---------|---------|--------
1 |         | 264     |girl
2 |263      | 250     |girl+
3 |249      | 240     |girl
4 |239      |         |girl

你可以这样得到你想要的结果:

select * 
from tablename
where 
(? >= score_min or score_min is null)
and 
(? <= score_max or score_max is null)

?替换为您搜索的值
请参阅演示

最新更新