Mysql: Agrupando resultados agregados.
Posted on January 5th, 2009 in ArtÃculos, Programación, mysql | 2 Comments »
MySQL cuenta con muchas funciones las cuales pueden ser muy útiles aunque son poco conocidas. Una de ellas es la función GROUP_CONCAT la cual te regresa un string con la concatenación de los valores resultantes de un agrupamiento.
Por ejemplo, consideremos la siguiente tabla la cual contiene ciudades y el código del paÃs al que pertenecen:
select * from ciudades

Podemos agrupar la tabla por el código de paÃs:
select codigo_pais,count(*) as count_ciudades from ciudades group by codigo_pais

El cual nos indica la cantidad de valores que han sido agrupados utilizando la columna codigo_pais.
Con la función GROUP_CONCAT podemos conocer todos los paÃses que fueron agrupados:
select codigo_pais,<strong>group_concat</strong>(ciudad) as ciudades from ciudad group by codigo_pais

La cual nos muestra los resultados concatenados y separados por una coma.



2 Responses
esa no me la sabia, como bien dice el artÃculo, “las cuales pueden ser muy útiles aunque son poco conocidas”
y puede ser de gran ayuda para desarrollos
Excelente aportación muy sencilla de entender