Существует ли ограничение длины для group_concat или по другой причине, почему он не будет работать в текстовом поле
Во-первых, вот запрос:
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
Длина результата group_concat ограничена (усечена) до значения системной переменной group_concat_max_len. Значение по умолчанию этой переменной равно 1024.
Если вы хотите изменить значение переменной, синтаксис:
SET [GLOBAL | SESSION] group_concat_max_len = val;
Дополнительная информация Документы Mysql 5