如何在Android中编写select-where-column = unique查询

时间:2010-12-17 08:32:39

标签: android sqlite distinct

我无法为我的数据库编写select-where-unique查询。 我已经设法使用where子句使用:

查询我的数据库
        Cursor mCursor =
                db.query(true, DATABASE_TABLE, new String[] {
                        KEY_ROWID,
                        KEY_KEYWORD}, 
                        KEY_TIME + "=" + strtime, 
                        null,
                        null, 
                        null, 
                        null, 
                        null);

有人可以帮我为列KEY_KEYWORD插入“DISTINCT”关键字吗?

提前完成。

3 个答案:

答案 0 :(得分:4)

以下为我工作:

                Cursor mCursor =
                db.query(true, DATABASE_TABLE, new String[] {
                        KEY_KEYWORD}, 
                        KEY_TIME + "=" + strtime, 
                        null,
                        null, 
                        null, 
                        null, 
                        null);
        if (mCursor != null) {
            mCursor.moveToFirst();
        }
        return mCursor;

Thanx Desiderio和lucho试图提供帮助。

答案 1 :(得分:2)

请试试这个:

Cursor mCursor = 
                db.query(true, DATABASE_TABLE, new String[] { 
                        KEY_ROWID, 
                        KEY_KEYWORD},  
                        null,  
                        null, 
                        KEY_KEYWORD,  
                        null,  
                        null,  
                        null); 

如果有效,请告诉我。

答案 2 :(得分:0)

您的问题的可能解决方案是使用SQLiteQueryBuilder类。

示例:

查询:SELECT DISTINCT A.x FROM A,B WHERE A.ID = B.ID

SQLiteQueryBuilder sqLiteQueryBuilder = new SQLiteQueryBuilder();
sqLiteQueryBuilder.setTables("A, B");
sqLiteQueryBuilder.setDistinct(true);

String selection =  "A.ID = B.ID"; 

Cursor c = sqLiteQueryBuilder.query(db, 
    new String[]{"A.x"}, 
    selection, 
    null, 
    null, 
    null, 
    null);

干杯!