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

  • Sqlite数据库安全
  • 一般应用程序devise(IntentService / ContentProvider / AsyncTask)
  • 如何从Android设备下载SQLite数据库?
  • 使用android中的游标从sqlite数据库显示图像
  • ActiveAndroid抽象类表
  • UNIQUE约束失败:sqlite数据库:android
  • 用ContentValues和update-method更新sql数据库
  • 为数据库编译sql语句高速caching已达到MAX大小
  • 你可以运行这个查询:

     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