SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SELECT DISTINCT Nie działa Android SQLite

ROZWIĄZANE!

Tak więc metody SQLiteQueryBuilder, które zwracają kursor, nie pozwalają na wartość logiczną parametr bezpośrednio.

Jednak po przeczytaniu notatek z zajęć zauważyłem metodę setDistinct i zastosował go do SQLiteQueryBuilder.

Teraz działa i daje mi tylko jeden unikalny wpis dla każdego stanu, dokładnie to, co próbowałem zrobić. Musiałem usunąć inne kolumny i po prostu skupić się na stanie, ale to kolejny problem / rozwiązanie niezwiązane z tym pytaniem. Wystarczy powiedzieć, że musiałem skupić się tylko na stanie kolumny i zastosować setDistinct do tej kolumny tylko w celu uzyskania pożądanego wyniku.

Oto kompletny kod:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przetestować metody, które radzą sobie z bazą danych SQLite w Androidzie?

  2. Indeks SQLite

  3. Do czego służy funkcja String[] whereArgs w int delete (tabela String, String whereClause, String[] whereArgs)?

  4. Jak uzyskać liczbę wierszy w sqlite za pomocą Androida?

  5. Jak używać Room Persistence Library z wstępnie wypełnioną bazą danych?