2010-10-13 18 views
21

Ho una serie di dati come questo:Gruppo diverse righe in uno di stringhe che conciliano

Column1 Column2 
    1  A 
    1  B 
    1  C 
    1  D 
    2  E 
    2  F 
    2  G 
    3  H 
    3  I 

e vorrei a fondersi in qualcosa di simile:

Column1 Column2 
    1  A, B, C 
    2  D, E, F, G 
    3  H, I 

E 'possibile fare questo in SQLite in qualche modo? Mi sembra di GROUP BY Column1, ma non vedo come posso combinare i dati Column2 in una stringa ...

Grazie!

+1

GROUP_CONCAT non funziona nei dispositivi Android o nell'emulatore – nida

risposta

44
SELECT Column1, group_concat(Column2) FROM Table GROUP BY Column1 

group_concat prende un secondo argomento opzionale (una stringa) da utilizzare come separatore di concatenazione, se non si vuole un unico '' carattere.

+1

Il commento di @ nida che "GROUP_CONCAT non funziona nei dispositivi Android o nell'emulatore" appartiene a questa risposta piuttosto che alla domanda originale. Tuttavia, ho appena provato su un dispositivo Jelly Bean (Huawei) e un dispositivo Lollipop (Samsung), e ha funzionato bene. Quindi forse ci sono alcune versioni di Android in cui non funziona, ma non le ho incontrate. Nida, puoi far luce su questo? Puoi spiegare perché pensi che non funzioni? – LarsH

+2

La documentazione per la versione 3.17.0. inserisce 'GROUP_CONCAT' nella [lista di funzioni di aggregazione] (https://www.sqlite.org/lang_aggfunc.html) disponibile per impostazione predefinita. Forse non era il caso allora. –

Problemi correlati