在mysql中,有個函數叫「group_concat」,日常使用可能發現不了問題,在處理大數據的時候,會發現內容被截取了,
其實MYSQL內部對這個是有設置的,默認不設置的長度是1024,若是咱們須要更大,就須要手工去修改mysql
詳細說明以下:sql
- 用了group_concat後,select裏若是使用了limit是不起做用的.
- 用group_concat鏈接字段的時候是有長度限制的,並非有多少連多少。但你能夠設置一下。
- 使用group_concat_max_len系統變量,你能夠設置容許的最大長度。
- 系統默認的分隔符是逗號
修改方式:
SET [SESSION | GLOBAL] group_concat_max_len = 10240;
segmentfault
可修改的參數以下
GROUP_CONCAT將某一字段的值按指定的字符進行累加,系統默認的分隔符是逗號,能夠累加的字符長度爲1024字節。函數
- 先舉一個簡單的例子
select group_concat(f_a) from t_one group by f_b;
按f_b進行分組查詢,將每組中的f_a進行累加。
- 修改默認的分隔符
select group_concat(f_a separator '_') from t_one group by f_b;
separator 是一個關鍵字,後面跟着要進行分隔的字符
- 排序
select group_concat(f_a order by f_a separator '_') from t_one group by f_b;
-
修改默認字符大小
1) 在MySQL配置文件中加上學習
group_concat_max_len = 102400 #你要的最大長度
2) 能夠簡單一點,執行語句,能夠設置做用範圍區塊鏈
SET GLOBAL group_concat_max_len=102400;
SET SESSION group_concat_max_len=102400;
- 和concat使用
group_concat默認返回的是BLOB大對象,能夠使用concat,返回字符串,還能夠在返回的內容,在加入其它的數據。
歡迎訂閱「K叔區塊鏈」 - 專一於區塊鏈技術學習
博客地址:
http://www.jouypub.com
簡書主頁:
https://www.jianshu.com/u/756c9c8ae984
segmentfault主頁:
https://segmentfault.com/blog/jouypub
騰訊雲主頁:
https://cloud.tencent.com/developer/column/72548