Java Android:如何对SQLite数据库中的所有列求和并返回一个变量
我的目标是对数据库中的所有列求和,并返回一个变量“total”=x amount 例如:Java Android:如何对SQLite数据库中的所有列求和并返回一个变量,java,android,database,sqlite,sum,Java,Android,Database,Sqlite,Sum,我的目标是对数据库中的所有列求和,并返回一个变量“total”=x amount 例如: column - food | taxi | clothes | sports 2 3 4 5 6 8 0 12 11 10 7 2 因此,总数将等于=70 我最初的想法是对各个列求和,最后将它们相加,例如对单个列求和: public
column - food | taxi | clothes | sports
2 3 4 5
6 8 0 12
11 10 7 2
因此,总数将等于=70
我最初的想法是对各个列求和,最后将它们相加,例如对单个列求和:
public Cursor sumFoodColumn(){
Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, KEY_FOOD + "=?", new String[]{"sum(food)" + KEY_FOOD}, null, null, null, null);
if (c !=null) {
c.moveToFirst();
}
return c;
}
但我觉得这会有点费劲,因为我的数据库中有13列,有更好的方法吗?最好只有一个查询 在网上查看之后,您似乎可以做到这一点
选择食物、出租车、衣服,…,总和(食物+出租车+衣服+…)作为“我的总数”
从表中
来源:您可以运行此查询:
Cursor c = db.rawQuery("SELECT Sum(food) + Sum(taxi) + Sum(clothes) + Sum(sports) AS myTotal FROM " + DATABASE_TABLE, null);
而不是
Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, KEY_FOOD + "=?", new String[]{"sum(food)" + KEY_FOOD}, null, null, null, null);
把你的总数作为
Cursor c = sumFoodColumn();
int total = c.getInt(c.getColumnIndex("myTotal"));
在您的帖子中发布链接的相关内容以及说明。或者将链接作为评论发布,并根据您的意愿删除此答案,@Raghunandannot my wish。这篇文章出现在评论队列中,需要提醒版主注意,但最终会被删除,因为不鼓励只提供链接的答案。对我来说,这似乎有点违反直觉,因为这是内容的重复。也就是说,一旦链接在将来某个时候失效,你的答案将毫无价值。如果您在meta.stackoverflow.com上对本网站有任何进一步的问题。你可以在那里讨论。