mysql函数concat与group_concat使用说明
concat()函数
mysql> select concat(',',name,',') from `user`;
+--------------------------+
| concat(',',fdipzone,',') |
+--------------------------+
| ,fdipzone, |
+--------------------------+
1 row in set (0.00 sec)
concat_ws() 函数
mysql> select concat_ws(',',country_code,phone,region) from `user`;
+------------------------------------------+
| concat_ws(',',country_code,phone,region) |
+------------------------------------------+
| 86,13794830550,GZ |
+------------------------------------------+
1 row in set (0.00 sec)
group_concat()函数
mysql> select * from `article_in_category`;
+----+------------+-------------+
| id | article_id | category_id |
+----+------------+-------------+
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
| 4 | 2 | 4 |
| 5 | 2 | 3 |
| 6 | 2 | 5 |
| 7 | 3 | 1 |
| 8 | 3 | 5 |
| 9 | 3 | 6 |
| 10 | 4 | 8 |
+----+------------+-------------+
mysql> select article_id,group_concat(category_id order by category_id asc) from `article_in_category` group by article_id;
+------------+----------------------------------------------------+
| article_id | group_concat(category_id order by category_id asc) |
+------------+----------------------------------------------------+
| 1 | 1,2,3 |
| 2 | 3,4,5 |
| 3 | 1,5,6 |
| 4 | 8 |
+------------+----------------------------------------------------+
4 rows in set (0.00 sec)
ps:category_id order by category_id asc 这个是 字段里面的的排序 比方说1,2,3就是升序啦
注意:group_concat()函数对返回的结果有长度限制,默认为1024字节
mysql> set global group_concat_max_len=2048;
Query OK, 0 rows affected (0.03 sec)mysql> show global variables like '%group_concat_max_len%';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 2048 |
+----------------------+-------+
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4047.html