Mysql 拼接某列为一个值 && group_concat()函数
1.需求
将表中某一字段的值全部选出,并拼接成一个值。
2.代码
- 查看表数据
mysql> select * from t;
+------+
| a |
+------+
| x |
| x |
| x |
| y |
| y |
| z |
| a |
| z |
+------+
8 rows in set (0.04 sec)
- 将该列中的字段分组然后拼接
mysql> select
-> group_concat(a)
-> from t
-> group by a;
+-----------------+
| group_concat(a) |
+-----------------+
| a |
| x,x,x |
| y,y |
| z,z |
+-----------------+
4 rows in set (0.02 sec)
- 直接拼接该字段中的所有值
mysql> select
-> group_concat(a)
-> from t;
+-----------------+
| group_concat(a) |
+-----------------+
| x,x,x,y,y,z,a,z |
+-----------------+
1 row in set (0.00 sec)
- 拼接而成的字符串不使用,号分隔,使用自定义的分隔符
mysql> select replace(group_concat(a),',','...') from t;
+------------------------------------+
| replace(group_concat(a),',','...') |
+------------------------------------+
| x...x...x...y...y...z...a...z |
+------------------------------------+
1 row in set (0.00 sec)