Ответ 1
Проверьте это
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;
Я хочу преобразовать выбранные значения в строку, разделенную запятой, в 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"
Проверьте это
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;
Если у вас несколько строк для 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;
Используйте 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
Попробуйте это
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"
Используйте group_concat
метод в mysql
Разделитель по умолчанию между значениями в группе является запятой (,). Чтобы указать любой другой разделитель, используйте 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