Превратить столбец в строку в MySQL

Сегодня я даже задумался, как можно с помощью 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()

4 thoughts on “Превратить столбец в строку в MySQL

  1. не совсем понял зачем такая именно сложность, почему не сделать так
    select group_concat(id separator ‘, ‘) from table_name

  2. Оказывается, GROUP_CONCAT() по-умолчанию использует разделитель “запятая” (проверено на версии 5.1.48-log). Поэтому вместо GROUP_CONCAT (id SEPARATOR ‘, ‘) можно написать короче GROUP_CONCAT (id, ”)

Leave a Reply to duhon Cancel reply

Your email address will not be published. Required fields are marked *


- пять = 1