mysql group 链接_使用 Mysql 内置函数 group_concat() 链接查询的字段值

在使用 Mysql 数据库查询数据时,有时需要将查询的同一字段的值拼接起来,减少代码的处理,group_concat() 函数就可以满足我们的需要。

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 |

+----+----------------+

例如,上面的数据表有 category_title 字段,我们在查询时,需要将该字段使用逗号拼接查询,这时需要使用 group_concat( 需要拼接的字段 ) 函数。

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)

该函数默认使用逗号将字符进行拼接,我们也可以传递参数使用指定的字符来拼接, 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 默认长度1024,如果字符太长会被截掉,想要完整数据可以在 Mysql 配置文件内增加 group_concat_max_len = '自己需要的长度即可'。

文章同步发布在我的个人博客中,传送门Hesunfly Blog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值