Есть таблица 29 записей с одинаковыми id:
text: жвакин локи - доки локи-доки лоддок логдок лод - док лог - док лок - док лод-док лог-док лок-док лод док лог док лок док лоддог логдог лод - дог лог - дог лок - дог лод-дог лог-дог лок-дог лод дог лог дог loddoc logdoc locdoc lod - doc log - doc loc - doc lod-doc log-doc loc-doc lod doc log doc loc doc loddog logdog lod - dog log - dog loc - dog log-dog loc-dog lod dog log dog локидоки локи доки локдок локдог лок дог locdog lod-dog loc dog
делаю запрос
SELECT GROUP_CONCAT(DISTINCT text SEPARATOR ' | ') as text FROM `table` GROUP BY id
и получаем:
жвакин | локи - доки | локи-доки | лоддок | логдок | лод - док | лог - док | лок - док | лод-док | лог-док | лок-док | лод док | лог док | лок док | лоддог | логдог | лод - дог | лог - дог | лок - дог | лод-дог | лог-дог | лок-дог | лод дог | лог дог | loddoc | logdoc | locdoc | lod - doc | log - doc | loc - doc | lod-doc | log-doc | loc-doc | lod doc | log doc | loc doc | loddog | logdog | lod - dog | log - dog | loc - dog | log-dog | loc-dog | lod dog | log dog | локидоки | локи доки | локдок | локдог | лок дог | locdog | lod-dog | loc dog
Если же этот запрос сделаем подзапросом:
select text from ( SELECT GROUP_CONCAT(DISTINCT text SEPARATOR ' | ') as text FROM `table` GROUP BY id ) as s
То получим
жвакин | локи - доки | локи-доки | лоддок | логдок | лод - док | лог - док | лок - док | лод-док | лог-док | лок-док | лод док | лог док | лок док | лоддог | логдог | лод - дог | лог - дог | лок - дог | лод-дог | лог-дог | лок-дог | лод дог | лог дог | loddoc | logdoc | locdoc | lod - doc | log - doc | loc - doc | lod-doc | log-doc | loc-d
ВОПРОС: почему обрезается строка?
p.s. на большом количестве записей, показало, что режет не до определенного количества символов, а хаотично, но всегда постоянно чисто для каждой записи составленой из group_concat.