0

我认为我走在正确的轨道上。我只是不知道我需要的 sql 命令。

在这张表中,我放了一个键、加数、类别 ID。我想获得所有不同加数的一个实例。

所以

 1  10  3045
 2  10  4055
 3  20  4444
 4  30  1111
 5  30  7455
 6  30  7000
 7  41  8877

我会得到一个充满 [10,20,30,41] 的数组

public ArrayList<String> getFinalCategorysCatIDsBasedOnAddend() {
    String[] columns = new String[] { KEY_ROWID_TABLE_4, KEY_BUTTON_TAG_ADDEND, KEY_CAT_ID };
    Cursor c = ourDatabase.query(DATABASE_TABLE_4, columns, KEY_BUTTON_TAG_ADDEND+" unique ", null,
            null, null, null);
    ArrayList<String> cat = new ArrayList<String>();
    int iSites = c.getColumnIndex(KEY_CAT_ID);
    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        cat.add(c.getString(iSites));
    }
    c.close();
    return cat;
}

谢谢

编辑:

解决方案

将查询更改为

Cursor c = ourDatabase.query(true, DATABASE_TABLE_4, columns, KEY_BUTTON_TAG_ADDEND, null,
            KEY_BUTTON_TAG_ADDEND, null, null,null);
4

1 回答 1

1

如果您使用此query()方法,您可以将第一个参数设置true为接收不同的结果。

public Cursor query (
    boolean distinct, 
    String table, 
    String[] columns, 
    String selection, 
    String[] selectionArgs, 
    String groupBy, 
    String having, 
    String orderBy, 
    String limit
)
于 2013-08-08T14:12:21.553 回答