Подтвердить что ты не робот

Запятая строка выбранных значений в mysql

Я хочу преобразовать выбранные значения в строку, разделенную запятой, в MySQL. Мой исходный код выглядит следующим образом:

SELECT id FROM table_level where parent_id=4;

Что получилось:

'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'

Мой желаемый результат будет выглядеть так:

"5,6,9,10,12,14,15,17,18,779"
4b9b3361

Ответ 1

Проверьте это

SELECT GROUP_CONCAT(id)  FROM table_level where parent_id=4 group by parent_id;

Ответ 2

Если у вас несколько строк для parent_id.

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;

Если вы хотите заменить запятую запятой.

SELECT REPLACE(id,' ',',') FROM table_level where parent_id=4;

Ответ 3

Используйте group_concat() функцию mysql.

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;

Он даст вам конкатенированную строку, например:

5,6,9,10,12,14,15,17,18,779 

Ответ 4

Попробуйте это

SELECT CONCAT('"',GROUP_CONCAT(id),'"') FROM table_level 
where parent_id=4 group by parent_id;

Результат будет

 "5,6,9,10,12,14,15,17,18,779"

Ответ 5

Используйте group_concat метод в mysql

Ответ 6

Разделитель по умолчанию между значениями в группе является запятой (,). Чтобы указать любой другой разделитель, используйте SEPARATOR, как показано ниже.

SELECT GROUP_CONCAT(id SEPARATOR '|')
FROM `table_level`
WHERE `parent_id`=4
GROUP BY `parent_id`;

5 | 6 | 9 | 10 | 12 | 14 | 15 | 17 | 18 | 779

Чтобы устранить разделитель, используйте SEPARATOR ''

SELECT GROUP_CONCAT(id SEPARATOR '')
FROM `table_level`
WHERE `parent_id`=4
GROUP BY `parent_id`;

Обратитесь за дополнительной информацией GROUP_CONCAT