Агрегатная функция в MySQL-списке (например, LISTAGG в Oracle)

Мне нужна функция, которая возвращает список строк.

У меня есть данные в таблице:

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

Мне нужна функция вроде этого (что-то вроде этого работает в oracle):

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

Это возвращает что-то вроде этого:

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

Любые идеи?

Ответ 1

Вы ищете GROUP_CONCAT()

Попробуйте следующее:

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

Конечно, вы можете group by получить результаты.