在mysql中group_concat函数的作用就是在你利用group by 汇总之后我们再可以使用此函数的,下面我来给各位朋友简单的介绍一下关于group_concat函数用法.
group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来,要返回哪些列,由函数参数(就是字段名)决定,分组必须有个标准,就是根据group by指定的列进行分组.
group_concat函数应该是在内部执行了group by语句,这是我的猜测.
1.测试语句,代码如下:
SELECT group_concat(town) FROM `players` group by town
结果去查找town中去查找哪些值是一样的,如果相等,就全部列出来,以逗号分割进行列出,如下:group_concat(town)
北京,北京
长沙
简单的例子,代码如下:
- mysql> SELECT * FROM `ta`;
- +
- | id | name |
- +
- | 1 | a |
- | 1 | b |
- | 1 | c |
- | 1 | d |
- | 2 | a |
- | 2 | b |
- | 2 | c |
- | 3 | d |
- +
- 8 rows in set (0.00 sec)
-
- mysql> SELECT `id`,
- -> GROUP_CONCAT(`name`)
- -> FROM `ta`
- -> GROUP BY `id`;
- +
- | id | GROUP_CONCAT(`name`) |
- +
- | 1 | a c b d |
- | 2 | a c b |
- | 3 | d |
- +
- 3 rows in set (0.03 sec)
|