2016-03-14 4 views
-2

Я пытаюсь вернуть общую сумму моего столбца для «цен» в двойном типе.Возвратите общую сумму столбца в SQLite как double

Пока это выглядит так. Но я не знаю, как правильно использовать этот db.query();, так как он имеет множество параметров.

public Cursor totalPrice(){ 

    SQLiteDatabase db = this.getWritableDatabase(); 

    Cursor cursorResults = db.query(TABLE_NAME, new String[]{COL_PRICE}, null, null, "sum", null, null); 
    return cursorResults; 

} 
+1

Я никогда не использую эту функцию «удобство», потому что я не нахожу это удобно. Поэтому я бы просто использовал 'db.rawQuery (« SELECT SUM (цены) FROM table »)' – wvdz

+0

@wvdz, но этот оператор can not возвращает double, который будет использоваться в коде – Muddz

ответ

1

Вы можете использовать вместо db.rawQuery()

SQLiteDatabase db = getReadableDatabase(); 
String SQL = "SELECT SUM(COL_PRICE) AS TOTPRICES FROM TABLE_NAME"; 
Cursor c = db.rawQuery(SQL, null); 
while(c.moveToNext()) 
    double totPrices = c.getDouble(c.getColumnIndex("TOTPRICES")); 
db.close(); 

Я предполагаю, что ваш тип данных COL_PRICES реален

+0

Но как я могу вернуть это как double в java ? – Muddz

+0

@Muddz Я отредактировал свой ответ – Automatik

+0

Это сработало! и да COL_PRICES REAL. Создает ли SQLite постоянный столбец как TOTPRICES? – Muddz

Смежные вопросы