concat()的用法和陷阱

前期準備工作:

1,測試表

Mysql之group_concat()的用法和陷阱

msyql數據庫表結構圖

2,表中的數據

Mysql之group_concat()的用法和陷阱

測試數據

接下來通過實踐來熟悉 group_concat()函數的用法:

基本用法:

Mysql之group_concat()的用法和陷阱

基本用法

使用distinct去重

Mysql之group_concat()的用法和陷阱

group_concat distinct去重

結果排序

Mysql之group_concat()的用法和陷阱

group_concat 排序

總結:

group_concat()函數在實際工作過程中非常有用,例如在對樹型結構的數據進行查詢的時候,結合find_in_set()可以輕鬆的獲取某個節點下的所有下級節點數據.

關鍵注意點

group_concat函數的返回結果有可能信息不全,尤其是當你的id是UUID的時候,因為group_concat函數的長度限制一般是1024,如果數據量大很容易超出這個限制,一旦長度超出極限值,那麼結果肯定是有問題的!

查詢方法:show variables like 'group_concat_max_len';

解決辦法:設置全局group_concat長度. 指令:SET GLOBAL group_concat_max_len = 10240;


分享到:


相關文章: