ЗАГРУЗИТЬ действительно сложно ввести имя столбца, присвоив ему имя, похожее на тип данных. Таким образом, на любые ответы также влияет то, что ответы выглядят так, как будто они
задают
2
@barlop исправил это, отредактировав вопрос и ответы.
По приведенной выше ссылке GROUP_CONCAT: Эта функция возвращает строковый результат с объединенными ненулевыми значениями из группы. Возвращает NULL, если нет ненулевых значений.
По приведенной выше ссылке GROUP_CONCAT: Эта функция возвращает строковый результат с объединенными ненулевыми значениями из группы. Возвращает NULL, если нет ненулевых значений.
: - В MySQL вы можете получить объединенные значения комбинаций выражений. Чтобы исключить повторяющиеся значения, используйте предложение DISTINCT . Чтобы отсортировать значения в результате, используйте предложение ORDER BY. Для сортировки в обратном порядке добавьте ключевое слово DESC (по убыванию) к имени столбца, по которому вы сортируете, в предложении ORDER BY. По умолчанию это возрастающий порядок; это может быть указано явно с помощью ключевого слова ASC. Разделителем по умолчанию между значениями в группе является запятая («,»). Чтобы явно указать разделитель, используйте SEPARATOR, за которым следует строковое литеральное значение, которое должно быть вставлено между значениями группы. Чтобы полностью удалить разделитель, укажите разделитель '' .
Результат усекается до максимальной длины, заданной системной переменной group_concat_max_len, которая имеет значение по умолчанию 1024 символа, поэтому сначала сделаем:
Это не отвечает на вопрос ОП, а просто добавляет полезную информацию. Это должен быть комментарий, а не ответ.
Шон Боб
1
Спасибо за этот фрагмент кода, который может оказать некоторую ограниченную, немедленную помощь. Надлежащее объяснение будет значительно улучшить свою долгосрочную ценность, показывая , почему это является хорошим решением проблемы и сделает его более полезным для читателей будущих с другими подобными вопросами. Пожалуйста, измените свой ответ, чтобы добавить некоторые объяснения, в том числе предположения, которые вы сделали.
Дональд Дак
11
Отличные ответы. У меня также была проблема с NULLS, и мне удалось ее решить, добавив COALESCE в GROUP_CONCAT. Пример следующим образом:
Ответы:
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
По приведенной выше ссылке
GROUP_CONCAT
: Эта функция возвращает строковый результат с объединенными ненулевыми значениями из группы. Возвращает NULL, если нет ненулевых значений.источник
Подробнее здесь .
По приведенной выше ссылке
GROUP_CONCAT
: Эта функция возвращает строковый результат с объединенными ненулевыми значениями из группы. Возвращает NULL, если нет ненулевых значений.источник
Даст вам строку через запятую
источник
: - В MySQL вы можете получить объединенные значения комбинаций выражений. Чтобы исключить повторяющиеся значения, используйте предложение DISTINCT . Чтобы отсортировать значения в результате, используйте предложение ORDER BY. Для сортировки в обратном порядке добавьте ключевое слово DESC (по убыванию) к имени столбца, по которому вы сортируете, в предложении ORDER BY. По умолчанию это возрастающий порядок; это может быть указано явно с помощью ключевого слова ASC. Разделителем по умолчанию между значениями в группе является запятая («,»). Чтобы явно указать разделитель, используйте SEPARATOR, за которым следует строковое литеральное значение, которое должно быть вставлено между значениями группы. Чтобы полностью удалить разделитель, укажите разделитель '' .
ИЛИ
источник
Результат усекается до максимальной длины, заданной системной переменной group_concat_max_len, которая имеет значение по умолчанию 1024 символа, поэтому сначала сделаем:
а затем, например:
источник
group_concat_max_len
конфига? Текущее соединение / сеанс, или это повлияет на других клиентов?Отличные ответы. У меня также была проблема с NULLS, и мне удалось ее решить, добавив COALESCE в GROUP_CONCAT. Пример следующим образом:
Надеюсь, это поможет кому-то еще
источник