2016-05-11 5 views
0

これで個別の列の値を選択するために助けが必要クエリです:私はアンドロイドのクエリビルダ

SELECT _id AS suggest_intent_data_id, _id,distinct word as suggest_text_1 
FROM words WHERE (suggest_text_1 like "a%") ORDER BY word LIMIT 10. 

が、それは私にdisticnt近いエラーを示しています。

このクエリは、FirefoxでのSQLiteマネージャーで動作します。

SELECT distinct word as suggest_text_1 
FROM words WHERE (suggest_text_1 like "a%") ORDER BY word LIMIT 10. 

しかし、私は、最初のクエリからの結果を必要としています。

これは、クエリビルダーのコードです。

private static HashMap<String,String> buildColumnMap() 
{ 
    HashMap<String,String> map = new HashMap<String,String>(); 
    map.put(SearchManager.SUGGEST_COLUMN_TEXT_1, "word as "+SearchManager.SUGGEST_COLUMN_TEXT_1); 
    map.put(BaseColumns._ID, "_id"); 
    //  map.put(SearchManager.SUGGEST_COLUMN_TEXT_2,"meaning as   "+SearchManager.SUGGEST_COLUMN_TEXT_2); 
    map.put(SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID, "_id AS " + 
      SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID); 

    return map; 
} 
+0

なぜ-1.iがこれを助ける必要があるのですか? –

+0

達成したいことは何ですか?ある単語が複数回存在する場合、どの_idがそれを持つべきですか? – Ivar

答えて

0

あなたは、私が問題を解決した「行のセル」

SELECT distinct id AS suggest_intent_data_id, _id, word as suggest_text_1 
FROM words WHERE (suggest_text_1 like "a%") 
ORDER BY word LIMIT 10; 
+0

Typo ...私はdisctintを意味していますが..質問のゴールはよく記述されていません – scaisEdge

+0

はい、そこには、あなたのスキーマとサンプルが表示されますので、正しいクエリを投稿できます。 – scaisEdge

+0

そして、より多くの時間または単一の単語がテーブル内に1回だけ存在する – scaisEdge

1

によってSELECT DISTINCT(行別)とされていない実行する必要があり、私はちょうどクエリに句によってグループを追加し、それが働きました。

select _id AS suggest_intent_data_id, _id, word as suggest_text_1 
FROM words WHERE (suggest_text_1 like "a%") group by word order by word limit 10 
関連する問題