如何查询表以查看某个值属于哪个范围,java

时间:2017-09-30 22:23:39

标签: java mysql

我在db中有一个表,用作查找以查看某个值的得分。  表

 5     1

10     2

15    3

如果给出一个输入,例如6,我如何在Java中查询表并看到6在5到10之间。所以它的分数是2。 如果它是12.它在10到15之间,分数是3。

或者可能不是数据库中的表,我可以将查找值保存在类中? 有没有更有效的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您需要获取field1的最大值,该值小于当前记录的field1值,并检查搜索的值是否介于这两个值之间。如果是,请返回field2。假设没有重叠范围,您可以使用以下查询:

select field1, (select max(field1) from yourtable t2 where t2.field1<t1.field1) as lowerfield1, field2
from yourtable t1
where ...<fíeld1 and ...>=(select max(field1) from yourtable t2 where t2.field1<t1.field1)

搜索到的值必须代替...