Android:如何总结SQLite数据库中的所有列并返回1个单一variables

我的目标是总结我的数据库中的所有列,并返回一个variables“total”= x数量。

例:

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列,有没有更好的办法呢? 最好只有一个查询。

Solutions Collecting From Web of "Android:如何总结SQLite数据库中的所有列并返回1个单一variables"

你可以运行这个查询:

 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")); 

看了网上,似乎你可以做到这一点。

SELECT food, taxi, clothes, ..., SUM(food + taxi + clothes + ...) AS 'myTotal' FROM table

来源: http : //www.codingforums.com/mysql/52471-possible-sum-values-multiple-fields-single-sql-record.html#post275266