2010-10-13 7 views
21

Tengo un conjunto de datos de esta manera:grupo diferente filas en una de las cadenas que combinan

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

y me gustaría fusionar en algo como esto:

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

¿Es posible hacer esto en SQLite de alguna manera? Pensé en GROUP BY Column1, pero no veo cómo puedo combinar los datos de Column2 en una cadena ...

¡Gracias!

+1

GROUP_CONCAT no funciona en dispositivos Android o el emulador – nida

Respuesta

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

GROUP_CONCAT toma un segundo argumento opcional (una cadena) que se utiliza como separador de concatenación si no desea que un solo '' carácter.

+1

El comentario de @ nida de que "GROUP_CONCAT no funciona en dispositivos Android o emuladores" pertenece a esta respuesta en lugar de a la pregunta original. Sin embargo, lo probé en un dispositivo Jelly Bean (Huawei) y un dispositivo Lollipop (Samsung), y funcionó bien. Entonces, tal vez haya algunas versiones de Android donde no funciona, pero no las he encontrado. Nida, ¿puedes arrojar luz sobre eso? ¿Puedes explicar por qué crees que no funciona? – LarsH

+2

La documentación para la versión 3.17.0. coloca 'GROUP_CONCAT' en la [lista de funciones agregadas] (https://www.sqlite.org/lang_aggfunc.html) disponible de forma predeterminada. Quizás ese no era el caso en ese entonces. –

Cuestiones relacionadas