#mysql #group-concat
#mysql #объединение групп
Вопрос:
Я использую функцию MySQL GROUP_CONCAT — это агрегатная функция, которая объединяет строки из группы в одну строку с различными вариантами для этого возврата
'31A', '31C', '32B', '32D', '52G'
Это и есть запрос:
SELECT
GROUP_CONCAT( DISTINCT CONCAT( '''', xCOD ) ORDER BY xCOD ASC SEPARATOR ''' , ' ) AS x_group
FROM `xtbl`
ORDER BY xCod ASC;
Это возвращает:
'31A', '31C', '32B', '32D', '52G
Но при возврате последний элемент функции MySQL GROUP_CONCAT не имеет одинарной кавычки
Как это сделать, чтобы решить эту проблему?
Комментарии:
1. В чем ваш вопрос? Здесь ее нет, что делает ваш пост действительно неясным.
2. @GMB спасибо, не могу добавить по этому вопросу код моего запроса. Отправленный вопрос с ошибкой. Я добавил изображение кода запроса… Произошла ошибка при отправке правки.
3. Вы всегда можете добавить цитату, если она вам нужна, в конце, используя
CONCAT()
.4. @IterLsicIealf Не публикует изображение . Опубликуйте свой запрос (и результаты) в виде текста .
5. @RocketHazmat Спасибо, я не могу добавить к этому вопросу код моего запроса. Отправленный вопрос с ошибкой. Я добавил изображение кода запроса.. Произошла ошибка при отправке редактирования.
Ответ №1:
Если вы хотите заключить каждое значение в кавычки, то вы можете просто использовать CONCAT
для этого.
SELECT
GROUP_CONCAT(DISTINCT CONCAT("'", xCOD, "'") ORDER BY xCOD ASC SEPARATOR ", ") AS x_group
FROM `xtbl`
ORDER BY xCod ASC;
На самом деле, вам даже не нужно CONCAT
здесь вообще. Вы можете просто сделать:
SELECT
GROUP_CONCAT(DISTINCT "'", xCOD, "'" ORDER BY xCOD ASC SEPARATOR ", ") AS x_group
FROM `xtbl`
ORDER BY xCod ASC;