Autore Topic: Query di raggruppamento sqlite dentro listView  (Letto 96 volte)

Offline enecco

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Query di raggruppamento sqlite dentro listView
« il: 09 Novembre 2016, 10:28:23 CET »
0
Ciao non riesco a passare una query che mi restituisce i valori raggruppati nella lisiView ad oggi restituisce tutti i valori inseriti
vorrei averli così :

2016
2017
2016

invece li vorrei cosi

2016
2017

Non capisco dove inserire la query perché la struttura è fatta in questo modo...

dbManager = new DBManagerAnno(this);
        dbManager.open();
        Cursor cursor = dbManager.fetch();

la funzione fetch() è scritta dentro la classe DBManagerAnno

public Cursor fetch() {
        String[] columns = new String[] { DatabaseHelper.ANNO_ID, DatabaseHelper.ANNO };
              Cursor cursor = database.query(DatabaseHelper.TABLE_ANNO, columns, null, null, null, null, null);
        if (cursor != null) {
            cursor.moveToFirst();
        }
        return cursor;
    }

dove posso impostare la query di raggruppamento ?

Grazie per la disponibilità

Offline DCode

  • Utente junior
  • **
  • Post: 69
  • Respect: +20
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 16.04 LTS
Re:Query di raggruppamento sqlite dentro listView
« Risposta #1 il: 09 Novembre 2016, 11:10:44 CET »
0
Cito la reference di android
Citazione
query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)


Ti basta quindi mettere passare i campi su cui vuoi fare la group by al parametro giusto.

A disposizione.
┻━┻ ︵ヽ(°□°ヽ) Develop w/ ( ( ObjC || Swift ) && Java[ "Android" ] ) (╯°□°)╯︵ ┻━┻

Offline enecco

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Re:Query di raggruppamento sqlite dentro listView
« Risposta #2 il: 09 Novembre 2016, 11:52:18 CET »
0
grazie della risposta...ma non riesco a tirar dentro il tuo suggerimento avendo un:

db con nome provadb
una tabella con nome provaanno
una colonna con nome provacolonna

public Cursor fetch() {
        String[] columns = new String[] { DatabaseHelper.ANNO_ID, DatabaseHelper.ANNO };
              Cursor cursor = database.query(?!?);
        if (cursor != null) {
            cursor.moveToFirst();
        }
        return cursor;
    }

?!? = cosa inserisco qui



Post unito: 09 Novembre 2016, 12:08:08 CET
Grazie 1000, ho risolto
« Ultima modifica: 09 Novembre 2016, 12:08:08 CET da enecco, Reason: Merged DoublePost »

Offline DCode

  • Utente junior
  • **
  • Post: 69
  • Respect: +20
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 16.04 LTS
Re:Query di raggruppamento sqlite dentro listView
« Risposta #3 il: 09 Novembre 2016, 12:09:50 CET »
0
Prendo spunto dalla query che fai già
Codice (Java): [Seleziona]
Cursor c = database.query(DatabaseHelper.TABLE_ANNO, columns, null, null, DatabaseHelper.ANNO /* Clausola group by */, null, null, null);
Dove c'è il mio campi è il parametro dove inserire le colonne sul quale la query poi raggruppa.

« Ultima modifica: 09 Novembre 2016, 12:11:40 CET da DCode »
┻━┻ ︵ヽ(°□°ヽ) Develop w/ ( ( ObjC || Swift ) && Java[ "Android" ] ) (╯°□°)╯︵ ┻━┻