2010-12-17 36 views
1

我無法爲我的數據庫編寫select-where-unique查詢。 我已成功使用where子句通過查詢我的分貝:如何在Android中編寫select-where-column =唯一查詢

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

任何人可以幫我插入列KEY_KEYWORD「DISTINCT」關鍵字?

Thanx提前。

回答

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; 

感謝名單Desiderio的和盧喬試圖幫助。

2

請試試這個:

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

,讓我知道是否可行。

+1

謝謝!這工作。如果要使整行具有唯一性,則應該使用DISTINCT,但只有一列時使用GroupBy。 – 2012-06-27 07:54:21

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); 

乾杯!