1

group_concat(concat())を使用したmySQLが、結果の完全な長さを表示しないのはなぜか不思議です。結果のセットが少ない場合は問題ありません。結果は完全に表示されます。しかし、別のセットの場合、結果が12を超える場合を考えてみましょう。

MySQLコード:

SELECT province_id AS prov_id, province_name AS prov_name, count( tent_info.tid ) AS ntent, 
GROUP_CONCAT( concat(tent_info.tuser, '-', tent_info.tname )
ORDER BY tent_info.tname ASC
SEPARATOR ',' ) AS tlist
FROM tbl_province
INNER JOIN tent_info ON tbl_province.province_id = tent_info.prov
WHERE tbl_province.geo_id = '6'
GROUP BY province_id
ORDER BY province_name ASC

MySQLの結果:

ここに画像の説明を入力してください 今問題は私が言ったことです。結果は完全にはロードされません。結果が12以上の場合を想定しました。下の写真のように。

ここに画像の説明を入力してください

まあ私はそれが原因かもしれないと思います:

  1. group_concatまたはで許可される最大長
  2. concat()の誤用または
  3. 空のテキストや無効な文字など、tlistでエラーが発生しました

提案してください。

4

1 に答える 1

4

完全な結果が見つからなくなるまで、この可変長をさらに更新してみてください。変数はグローバルに、セッションごとに設定できます。

SET SESSION group_concat_max_len = '20000';
于 2012-11-08T05:18:03.423 に答える