Ограничение количества агрегированных символов после выполнения GROUP_CONCAT в SQL

Я использую GROUP_CONCAT в своем запросе для сбора некоторых идентификаторов. Представьте, что у меня есть две следующих колонки:

user_id
item

Код выглядит так:

SELECT user_id, GROUP_CONCAT(item) AS all_items_by_user
FROM table
GROUP BY user_id

Однако я заметил, что столбец all_items_by_user может вместить до определенного количества символов в каждой ячейке. В моем случае этот предел составляет около 1100, тогда как я ожидаю как минимум в 10 раз больше. Интересно, есть ли способ увеличить этот лимит? Спасибо.


person morse    schedule 14.01.2021    source источник


Ответы (1)


Это контролируется group_concat_max_len, системной переменной.

В документации описано, как изменить ценность и что это на самом деле означает.

person Gordon Linoff    schedule 14.01.2021
comment
Спасибо, Гордон! Для записи: SET SESSION group_concat_max_len = ANY_LENGTH - person morse; 14.01.2021