【发布时间】:2014-04-09 18:11:52
【问题描述】:
我有一张如下图所示的表格
number unit Value
78 m ss
74 km aa
77 m ww
77 km ee
77 km ii
74 m pp
我正在编写一个范围查询来检查单位并获取最接近的值。我正在使用 where 条件来检查单位和编号。
cursor=db.rawQuery("SELECT * FROM "+TABLE_DOF+" WHERE units = '" + unit + "' AND ABS("+inputNumber+" - number)=(SELECT MIN(ABS("+inputNumber+" - number)) FROM "+TABLE_DOF+") AND ABS("+inputNumber+" - number<=5", null);
如果输入数字是79,单位是km,那么我会得到空行。
如果输入数字是79,单位是m,那么我会得到一行。
number unit Value
78 m ss
我想要的是,如果输入数字是 79,单位是 km,那么它应该返回给定输入数字的范围,即 -5 和 +5,如下表中的行
number unit Value
77 km ee
77 km ii
我们将不胜感激。谢谢你
【问题讨论】:
-
这基本上不是您今天第三次发布有关此查询的问题了吗?
-
应该总是在输入的 +-5 范围内返回,还是仅在没有完全匹配的情况下返回?
-
听起来你需要一个 between 子句 stackoverflow.com/questions/3821923/…
-
对不起,我是这个领域的新手,我正在尝试错误检查查询,到最后我需要完成这个,所以寻求帮助。跨度>
-
但是他们已经给你一个远程查询的答案 - stackoverflow.com/questions/22927652/…