Могу ли я объединить несколько строк MySQL в одно поле? - PullRequest
1085 голосов
/ 10 ноября 2008

Используя MySQL, я могу сделать что-то вроде:

SELECT hobbies FROM peoples_hobbies WHERE person_id = 5;

Мой вывод:

shopping
fishing
coding

но вместо этого я просто хочу 1 строку, 1 столбец:

Ожидаемый результат:

shopping, fishing, coding

Причина в том, что я выбираю несколько значений из нескольких таблиц, и после всех объединений у меня гораздо больше строк, чем хотелось бы.

Я искал функцию в MySQL Doc , и не похоже, что функции CONCAT или CONCAT_WS принимают наборы результатов, так что кто-нибудь здесь знает, как это сделать?

Ответы [ 11 ]

0 голосов
/ 13 ноября 2018

у нас есть два способа объединить столбцы в MySql

select concat(hobbies) as `Hobbies` from people_hobbies where 1

Или

select group_concat(hobbies) as `Hobbies` from people_hobbies where 1
...