Сегодня я даже задумался, как можно с помощью MySQL превратить выборку айдишников из столбца в строку, разделенными запятыми.
В этом мне помогла функция GROUP_CONCAT:
1 2 3 4 5 6 |
SELECT 1, GROUP_CONCAT(id SEPARATOR ', ')
FROM (
SELECT 1, id
FROM my_table_name
) AS t
GROUP BY 1 |
1
2
3
Результат
1, 2, 3
UPD:
Более простой вариант
1 2 3 4 |
SELECT
GROUP_CONCAT (id SEPARATOR ', ')
FROM
mytable |
Дополнительная информация:
Нагайченко Максим пишет в своем блоге про GROUP_CONCAT()
не совсем понял зачем такая именно сложность, почему не сделать так
select group_concat(id separator ‘, ‘) from table_name
Точно подмечено. Спасибо за комментарий, обновил статью.
Оказывается, GROUP_CONCAT() по-умолчанию использует разделитель “запятая” (проверено на версии 5.1.48-log). Поэтому вместо GROUP_CONCAT (id SEPARATOR ‘, ‘) можно написать короче GROUP_CONCAT (id, ”)
Можно записать еще короче: GROUP_CONCAT(id)