是否有group_concat的长度限制或为什么它不能在文本字段上工作的另一个原因

jis*_*one 12 mysql sql 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
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,除了描述字段只返回一个结果,而不是所有结果的串联.我怀疑这是因为描述是一个text字段,但我找不到任何关于为什么连接不适用于文本字段的内容.

任何人都知道为什么这不起作用?

Cro*_*ull 43

group_concat结果长度被限制(截断)为group_concat_max_len系统变量的值.此变量的默认值为1024.

如果要更改变量的值,则语法为:

SET [GLOBAL | SESSION] group_concat_max_len = val;

更多信息Mysql 5 docs

  • ..由字节限制,而不是字符.因此,如果你在utf8中使用文本,结果会在~363个字符后被截断(参见[是group_concat_max_len的字节或字符?](http://ebergen.net/wordpress/2011/09/05/is-group_concat_max_len-in-字节 - 或字符/)) (7认同)