1. 程式人生 > >Mysql 中的group_concat函式的使用及陷阱

Mysql 中的group_concat函式的使用及陷阱

group_concat函式

MySQL 中的group_concat 是字串連線函式,完整的語法如下:

group_concat([DISTINCT] 要連線的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符'])

可以結合group by 實現分組資訊,同時可以指定分隔符和排序規則

陷阱

GROUP_CONCAT有個最大長度的限制,超過最大長度就會被截斷掉

可以通過下面的語句檢視最大長度

SELECT @@global.group_concat_max_len;

1024這就是一般MySQL系統預設的最大長度,如果你的bid串起來大於這個就會出問題,好在有解決的辦法:

  • 1.在MySQL配置檔案中加上
group_concat_max_len = 204800 #你設定的最大長度
  • 2.可以簡單一點,執行語句:
mysql> SET GLOBAL group_concat_max_len=204800;

第一種方式需要重啟mysql,建議使用第二種!