2012-02-26 17 views
14

Necesito una función, que devuelve una lista de cadenas.Función de agregación en MySQL - lista (como LISTAGG en Oracle)

que tienen datos de la tabla como esta:

Id MyString 
------------------------ 
1 First 
2 Second 
3 Third 
4 Fourth 

necesito función como esta (algo así como esto funciona en Oracle):

select LISTAGG(MyString, ', ') as myList where id < 4 

que devuelve algo como esto:

myList 
------------------------ 
First, Second, Third 

¿Alguna idea?

+4

Eso es ['GROUP_CONCAT()' en MySQL] (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat). –

+0

posible duplicado de [Resultados de MySQL como lista separada por comas] (http://stackoverflow.com/questions/662207/mysql-results-as-comma-separated-list) –

Respuesta

27

Usted está buscando GROUP_CONCAT()

Prueba esto:

select group_concat(MyString separator ', ') as myList from table 
where id < 4 

Por supuesto, puede group by los resultados.