📅  最后修改于: 2023-12-03 14:57:13.070000             🧑  作者: Mango
在 Android 开发中,我们经常需要使用 SQLite 数据库来存储和管理数据。Sum(求和)是 SQL 中一个重要的聚合函数,可以用来计算指定列的总和。本文将介绍如何在 Android 中使用 SQL 查询来获取 Sum 值。
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格
String createTableQuery = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, value INTEGER)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新表格
String dropTableQuery = "DROP TABLE IF EXISTS my_table";
db.execSQL(dropTableQuery);
onCreate(db);
}
}
DBHelper dbHelper = new DBHelper(context);
SQLiteDatabase db = dbHelper.getReadableDatabase(); // 或者 db = dbHelper.getWritableDatabase();
rawQuery
方法执行原生 SQL 查询,或者使用 query
方法进行简化。以下是两种方法的示例。方法 1:使用 rawQuery
方法
String query = "SELECT SUM(value) FROM my_table";
Cursor cursor = db.rawQuery(query, null);
int sum = 0;
if (cursor.moveToFirst()) {
sum = cursor.getInt(0);
}
cursor.close();
方法 2:使用 query
方法
String table = "my_table";
String[] columns = {"SUM(value)"};
String selection = null;
String[] selectionArgs = null;
String groupBy = null;
String having = null;
String orderBy = null;
Cursor cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
int sum = 0;
if (cursor.moveToFirst()) {
sum = cursor.getInt(0);
}
cursor.close();
Log.d("Sum Value", String.valueOf(sum));
通过上述步骤,你可以在 Android 中使用 SQL 查询获取 Sum 值。请根据你的实际需求选择合适的查询方法,并在获取到 Sum 值后进行相应的处理。
以上为示例代码,你可以根据自己的数据库结构和需求进行适当的修改。
注意:在实际开发中,应该合理处理数据库的打开和关闭操作,以及异常处理,保证数据的完整性和安全性。
参考链接:Android SQLite 文档