2011-03-26 53 views
12

的第一部作品,這裏是查詢:是有長度限制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字段,但我無法找到關於爲什麼連接不能與文本字段一起工作的任何信息。

任何人都知道爲什麼這不起作用?

回答

43

group_concat結果長度被限制(截斷)爲group_concat_max_len系統變量的值。

 
SET [GLOBAL | SESSION] group_concat_max_len = val; 

更多信息Mysql 5 docs

+7

的字節,而不是字符..limited:如果你想改變變量的語法是值這個變量的默認值是1024

。所以如果你在utf8中使用文本,結果在~363個字符後被截斷(參見[group_concat_max_len是字節還是字符?](http://ebergen.net/wordpress/2011/09/05/is-group_concat_max_len-in-字節 - 或字符/)) – 2013-09-19 10:36:33