Android: Cómo sumar todas las columnas de una base de datos SQLite y devolver 1 variable única

Mi objetivo es sumar todas las columnas de mi base de datos y devolver una variable 'total' = cantidad x.

Ejemplo:

column - food | taxi | clothes | sports 2 3 4 5 6 8 0 12 11 10 7 2 

Entonces, el total equivale a = 70

Mi idea original era la suma de columnas individuales y, finalmente, agregarlos juntos ejemplo de la suma de una columna individual:

 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; } 

Pero sentí que esto sería un poco laborioso, ya que tengo 13 columnas en mi base de datos, ¿hay una mejor manera de evitar esto? Preferiblemente con sólo una consulta.

Puede ejecutar esta consulta:

 Cursor c = db.rawQuery("SELECT Sum(food) + Sum(taxi) + Sum(clothes) + Sum(sports) AS myTotal FROM " + DATABASE_TABLE, null); 

En lugar de

 Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, KEY_FOOD + "=?", new String[]{"sum(food)" + KEY_FOOD}, null, null, null, null); 

Y obtener su total como

 Cursor c = sumFoodColumn(); int total = c.getInt(c.getColumnIndex("myTotal")); 

Habiendo mirado en línea, parece que usted puede hacer esto.

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

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

Interesting Posts
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.