我尝试在android中运行以下原始查询,似乎不起作用
String query ="SELECT DISTINCT category FROM event";
Cursor cursor = mDb.rawQuery(query, null);
if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
Run Code Online (Sandbox Code Playgroud)
所以我决定在android中使用query()方法
Cursor mCursor = mDb.query(EVENT_TABLE, new String[] {KEY_ROWID, KEY_CAT}, null, null,null,null, null)
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我如何选择使用query()而不是rawquery的不同类别,任何帮助将不胜感激!
Ada*_*ski 61
但你必须记得发送参数GROUPBY
(NOT NULL
发送).
您必须为列名称distinct
.
例:
Cursor cursor = db.query(true, YOUR_TABLE_NAME, new String[] { COLUMN_NAME_1 ,COLUMN_NAME_2, COLUMN_NAME_3 }, null, null, COLUMN_NAME_2, null, null, null);
Run Code Online (Sandbox Code Playgroud)
true - 不同的TRUE
COLUMN_NAME_2
- 命名列你所拥有的DISTINCT.
这对我很有用.
Har*_*Joy 47
您可以使用此方法:
public Cursor query (boolean distinct, String table,
String[] columns, String selection,
String[] selectionArgs, String groupBy,
String having, String orderBy, String limit)
Run Code Online (Sandbox Code Playgroud)
这里的第一个参数指定是否使用distinct.
有多种方式,因为已经绿色勾选.但如果有人想通过原始查询获取它,那么你去:
String query = "SELECT DISTINCT(category) FROM event";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38122 次 |
最近记录: |