从sqlite获取所有唯一条目

时间:2013-08-08 14:08:00

标签: android sqlite

我认为我走在正确的轨道上。我只是不知道我需要的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);

1 个答案:

答案 0 :(得分:1)

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

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