使用 Mysql 內(nèi)置函數(shù) group_concat() 鏈接查詢的字段值

在使用 Mysql 數(shù)據(jù)庫(kù)查詢數(shù)據(jù)時(shí),有時(shí)需要將查詢的同一字段的值拼接起來,減少代碼的處理,group_concat() 函數(shù)就可以滿足我們的需要。

mysql> select `id`, `category_title` from `categories`;
+----+----------------+
| id | category_title |
+----+----------------+
|  9 | Golang         |
|  5 | Http           |
|  1 | Javascript     |
|  3 | Linux          |
| 10 | Mac            |
|  6 | Mysql          |
|  7 | Nginx          |
|  2 | PHP            |
|  8 | Redis          |
|  4 | Tools          |
+----+----------------+

例如,上面的數(shù)據(jù)表有 category_title 字段,我們?cè)诓樵儠r(shí),需要將該字段使用逗號(hào)拼接查詢,這時(shí)需要使用 group_concat( 需要拼接的字段 ) 函數(shù)。

mysql> select group_concat(`category_title`) as title from `categories`;
+--------------------------------------------------------------+
| title                                                        |
+--------------------------------------------------------------+
| Golang,Http,Javascript,Linux,Mac,Mysql,Nginx,PHP,Redis,Tools |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

該函數(shù)默認(rèn)使用逗號(hào)將字符進(jìn)行拼接,我們也可以傳遞參數(shù)使用指定的字符來拼接, group_concat( 需要拼接的字段 separator '拼接字符' )。

mysql> select group_concat(`category_title` separator '|' ) as title from `categories`;
+--------------------------------------------------------------+
| title                                                        |
+--------------------------------------------------------------+
| Golang|Http|Javascript|Linux|Mac|Mysql|Nginx|PHP|Redis|Tools |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

需要注意的是 Mysql 默認(rèn)長(zhǎng)度1024,如果字符太長(zhǎng)會(huì)被截掉,想要完整數(shù)據(jù)可以在 Mysql 配置文件內(nèi)增加 group_concat_max_len = '自己需要的長(zhǎng)度即可'。

文章同步發(fā)布在我的個(gè)人博客中,傳送門Hesunfly Blog

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容