データベースからDISTINCT値を取得する方法は?

私はこの形式でデータベースから値を取得したいと思います

1 Audi
3日産

しかし、私は今のようになっています。 _idを出力に含める必要はありませんが、削除するとNullPointerExceptionがスローされるため、取り除くことができませんでした。

id  MAKE
========= 
1   Audi  
2   Audi  
3   Nissan  
4   Audi

これは私が使ったクエリです

cursor = db.rawQuery(
    "SELECT DISTINCT _id,MAKE FROM "+SQLiteAdapter.MYDATABASE_TABLE+
    " WHERE MAKE || ' ' || MODEL LIKE ?", new String[]{"%" + "" + "%"}
);

シーケンスを完全に変更して上記のコードを出力したり変更したりする必要がありますか?ありがとうございます。

私のコード

cursor = db.rawQuery("SELECT DISTINCT SERIES FROM "+SQLiteAdapter.MYDATABASE_TABLE+" WHERE YEAR=2012 AND MAKE='Audi' AND MODEL=?", new String[]{"A6"});

adapter = new SimpleCursorAdapter(this, R.layout.employee_list_item, cursor, new String[] {"series"}, new int[] {R.id.firstName});

employeeList.setAdapter(adapter);
3
私は以前のvalues.Couldからの制約のためのwhere節をwhere節と_idなしでやる方法を教えてください。
追加された 著者 Karthik,
@Lucifer私は自分のコードでドリルダウンしようとしているので、私はそれでDISTINCTを使うことに決めました。
追加された 著者 Karthik,
@Sathya私はDISTINCTを試しましたsepratelyそれは魅力のように動作します、私はデータベース内に自動インクリメント_idを持っています、アダプタで実装しようとすると、_idを要求するNullPointerExceptionをスローします。上記。
追加された 著者 Karthik,
こんにちはKarthik、上記の出力のためにあなたはどちらのカラムにもDISTINCTする必要はありません。単に "MAKE"カラムとは区別され、あなたが望む出力を得ることができます。
追加された 著者 Lucifer,
SELECT MIN(_id)、MAKE ... GROUP BY MAKE の何が問題なのですか?
追加された 著者 Stephen Chung,
@Luciferあなたは1つの列にのみ区別することはできません。別名を追加すると、両方の列で機能します
追加された 著者 Sathya,
あなたの WHERE 句の目的は何ですか?
追加された 著者 Shad,

2 答え

試してください:

select min(id), min(make) from cars group by make
2
追加された

SQLiteQueryBuilderのbuildQueryStringメソッドを使用することができます:

buildQueryString (boolean distinct, String tables, String[] columns, String where, String groupBy, String having, String orderBy, String limit)
0
追加された