2012-02-26 29 views
14

Tôi cần hàm, trả về danh sách các chuỗi.Chức năng tổng hợp trong MySQL - danh sách (như LISTAGG trong Oracle)

Tôi có dữ liệu trong bảng như thế này:

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

tôi cần chức năng như thế này (một cái gì đó như thế này làm việc trong oracle):

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

Đó trả về một cái gì đó như thế này:

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

Bất kỳ ý tưởng nào?

+4

Đó là ['GROUP_CONCAT()' trong MySQL] (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat). –

+0

có thể trùng lặp của [Kết quả MySQL dưới dạng danh sách được phân tách bằng dấu phẩy] (http://stackoverflow.com/questions/662207/mysql-results-as-comma-separated-list) –

Trả lời

27

Bạn đang tìm kiếm GROUP_CONCAT()

Hãy thử điều này:

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

Tất nhiên, bạn có thể group by kết quả.

Các vấn đề liên quan