SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

SELECT DISTINCT Não funciona Android SQLite


RESOLVIDO!

Portanto, os métodos SQLiteQueryBuilder que retornam um Cursor não permitem o Boolean parâmetro diretamente.

No entanto, depois de ler as notas de aula, notei o método setDistinct e aplicou-o ao SQLiteQueryBuilder.

Agora funciona e me dá apenas uma entrada única para cada estado, exatamente o que eu estava tentando fazer. Eu precisei remover as outras colunas e focar apenas no estado, mas isso é outro problema/solução não relacionado a esta questão. Basta dizer que tive que me concentrar apenas no estado da coluna e aplicar o setDistinct a essa coluna apenas para obter o resultado desejado.

Segue o código completo:
public Cursor getData(){
    SQLiteDatabase db = getReadableDatabase();
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    String [] sqlSelect = {"0 _id", "state"};
    String sqlTables = "Reefs";
    qb.setTables(sqlTables);
    qb.setDistinct(true);
    Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);
    c.moveToFirst();
    return c;
}