Android 从sqlite获取所有唯一的条目

Android 从sqlite获取所有唯一的条目,android,sqlite,Android,Sqlite,我想我走对了。我只是不知道我需要的sql命令 在这个表中,我放了一个键,加数,category id。我想得到所有不同加数的一个实例 所以 我将得到一个填充有[10,20,30,41]的数组 public ArrayList<String> getFinalCategorysCatIDsBasedOnAddend() { String[] columns = new String[] { KEY_ROWID_TABLE_4, KEY_BUTTON_TAG_ADDEND, KE

我想我走对了。我只是不知道我需要的sql命令

在这个表中,我放了一个键,加数,category id。我想得到所有不同加数的一个实例

所以

我将得到一个填充有[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;
}
如果使用此方法,可以将第一个参数设置为
true
,以接收不同的结果

public Cursor query (
    boolean distinct, 
    String table, 
    String[] columns, 
    String selection, 
    String[] selectionArgs, 
    String groupBy, 
    String having, 
    String orderBy, 
    String limit
)

谢谢,我不知道我怎么会在文件里漏掉它。我还必须按更改组。当一个加数有多个类别ID时,应该返回哪一个?我不需要类别ID,只需要每个加数的一个实例。
Cursor c = ourDatabase.query(true, DATABASE_TABLE_4, columns, KEY_BUTTON_TAG_ADDEND, null,
            KEY_BUTTON_TAG_ADDEND, null, null,null);
public Cursor query (
    boolean distinct, 
    String table, 
    String[] columns, 
    String selection, 
    String[] selectionArgs, 
    String groupBy, 
    String having, 
    String orderBy, 
    String limit
)