如何在SQLite中汇总数据行?

时间:2018-04-27 12:56:52

标签: android android-sqlite

我是新来的,想问一下使用sqLite的android studio。我想要汇总存储在列中的所有数据并将其显示在textview中。我是编程新手,我有点困惑bcs它不会显示表格列的总和。这是我建立自我的代码。谢谢。

//这是数据库创建

public void createdb(){
    db1 = this.openOrCreateDatabase("dbshops",MODE_PRIVATE,null);
    String sqlcreate = "CREATE TABLE IF NOT EXISTS shops" +
            "(ITEMS VARCHAR NOT NULL,PRICE DOUBLE);";
    db1.execSQL(sqlcreate);
}

//这是我用于和价格列的方法:

public void calculatePrice(){
    results = (TextView)findViewById(R.id.resulttextView);
    try {
        String sqlcalculate = "SELECT SUM(PRICE) FROM shops";
        db1.execSQL(sqlcalculate);
        Cursor c = db1.rawQuery(sqlcalculate, null);
        if (c.moveToFirst()) {
            results.setText("TOTAL PRICE = " + c.getInt(c.getColumnIndex("price")));
            return;
        }
    }catch (Exception e){
    }
}

1 个答案:

答案 0 :(得分:1)

您对术语rowcolumn感到困惑。

尝试:

String sqlcalculate = "SELECT SUM(PRICE) AS PriceTotal FROM shops";

然后

results.setText("TOTAL PRICE = " + c.getInt(c.getColumnIndex("PriceTotal")));

通过这样做,您将创建一个名为PriceTotal的“别名”(计算)列,然后您将检索它。

顺便说一句,删除这条无用的行

db1.execSQL(sqlcalculate);