SQLite 查询以获取特定值
Posted
技术标签:
【中文标题】SQLite 查询以获取特定值【英文标题】:SQLite Query to get certain Value 【发布时间】:2015-01-10 08:13:12 【问题描述】:在我的数据库中,我存储了以下数据:
_id | NumericalEquivalents | ValTo | valFrom | Section
------------------------------------------------------
1 1.00 100 99 a
2 1.25 98 96 a
3 1.75 95 93 a
.....
.....
10 5.00 74 0 a
现在在我的应用程序中,将以编程方式计算成绩,我有以下代码来获取计算成绩的数值等效项:
public float getNumEqui(String sect, float grade)
String q = "SELECT * FROM NumericalEquivalents where Section='"+sect+"' and valTo>="+grade+" and valFrom<="+grade;
Cursor cursor = mDb.rawQuery(q, null);
if(cursor.moveToFirst())
float reset= cursor.getFloat(cursor.getColumnIndex("NumericalEquivalent"));
return reset;
//return sometotal;
return -1;
我现在的问题是它总是返回 5.00,我想知道我使用的查询是否有问题。任何帮助将不胜感激。
【问题讨论】:
我猜你的成绩是 0 我试过设置不同的等级,结果总是一样。 如果你用'a'部分和90级来测试它,结果会是什么? 结果还是5.0 99的结果是什么? 【参考方案1】:使用BETWEEN
:
SELECT *
FROM NumericalEquivalents
where Section = 'a' and @grade between ValFrom and ValTo
Demo here
【讨论】:
以上是关于SQLite 查询以获取特定值的主要内容,如果未能解决你的问题,请参考以下文章
获取 SQLite 数据库的下一个 AUTO_INCREMENT 值