sql >> Databáze >  >> RDS >> SQLite

SELECT DISTINCT Nefunguje Android SQLite

VYŘEŠENO!

Takže metody SQLiteQueryBuilder, které vracejí kurzor, neumožňují Boolean parametr přímo.

Po přečtení poznámek ke třídě jsem si všiml metody setDistinct a aplikoval jej na SQLiteQueryBuilder.

Nyní to funguje a dává mi pouze jeden jedinečný záznam pro každý stát, přesně to, co jsem se snažil udělat. Potřeboval jsem odstranit další sloupce a zaměřit se pouze na stav, ale to je další problém/řešení, které s touto otázkou nesouvisí. Stačí říct, že jsem se musel zaměřit pouze na stav sloupce a použít setDistinct do tohoto sloupce, abyste získali požadovaný výsledek.

Zde je vyplněný kód:

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


  1. Co je jarní integrace?

  2. Oprava chyby „ORA-01790:výraz musí mít stejný datový typ jako odpovídající výraz“

  3. MySQLDumper:Nástroj pro zálohování databáze MySQL založený na PHP a Perlu

  4. Kód pro volání funkce v balíčku z C# a ODP.NET