2012-02-26 101 views
14

我需要返回字符串列表的函数。MySQL中的聚合函数 - 列表(如Oracle中的LISTAGG)

我在表中的数据是这样的:

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

我需要这样的功能(像这样在Oracle工作):

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

返回是这样的:

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

有没有想法?

+4

这是MySQL中的''GROUP_CONCAT()'](http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat)。 – 2012-02-26 19:29:38

+0

[MySQL结果为逗号分隔列表]的可能重复(http://stackoverflow.com/questions/662207/mysql-results-as-comma-separated-list) – 2012-02-26 19:30:50

回答

27

您正在寻找GROUP_CONCAT()

试试这个:

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

当然,你也可以group by结果。