我想计算所有级别的项目数量,这些级别低于您当前的级别:
public int getAmountPrevLevels(int level) {
int count = 0;
Cursor c = myDataBase.rawQuery(
"SELECT COUNT(*) FROM QUESTIONS WHERE LEVEL < " + level , null);
c.moveToFirst();
count = c.getInt(0);
c.close();
myDataBase.close();
return count;
}
它一直都是oke,直到我把17级物品放入10级。假设我每级有30个项目,级别10有17个(随机数)。即使我在5级,它也会返回137(= 4 * 30 + 1 * 17)。我不知道为什么它总是被考虑到十级......
答案 0 :(得分:2)
我认为级别的数据类型为TEXT
(不是数字类型),因此10
之前的5
即将发布。
如果您的级别始终为INTEGER
,那么我建议您更改表格中的数据类型(如果可能)。
或者,我认为您可以使用CASTING
,如下所示:
SELECT COUNT(*) FROM QUESTIONS WHERE CAST(LEVEL AS INTEGER) < " + level