есть ли ограничение длины group_concat или другая причина, по которой он не будет работать с текстовым полем - PullRequest
12 голосов
/ 26 марта 2011

Во-первых, вот запрос:

SELECT GROUP_CONCAT(title) title, GROUP_CONCAT(description) description,
skill_id, count(*)

FROM jobs j
INNER JOIN job_feed_details d
ON j.id = d.job_id
JOIN jobs_skills js
ON j.id = js.job_id
    WHERE moderated = 1
    group by skill_id

Все работает, как и ожидалось, за исключением того, что поле описания возвращает только один результат вместо объединения всех результатов. Я подозреваю, что это потому, что описание является полем text, но я не могу найти ничего о том, почему конкатенация не будет работать с текстовым полем.

Кто-нибудь знает, почему это не сработает?

1 Ответ

43 голосов
/ 26 марта 2011

Длина результата group_concat ограничена (усечена) значением системной переменной group_concat_max_len .Значение этой переменной по умолчанию - 1024.

Если вы хотите изменить значение переменной, синтаксис:

SET [GLOBAL | SESSION] group_concat_max_len = val;

Дополнительная информация Mysql 5 документов

...