在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|
- +----+------+
- 8rowsinset(0.00sec)
- --phpfensi.com
- mysql>SELECT`id`,
- ->GROUP_CONCAT(`name`)
- ->FROM`ta`
- ->GROUPBY`id`;
- +----+----------------------+
- |id|GROUP_CONCAT(`name`)|
- +----+----------------------+
- |1|acbd|
- |2|acb|
- |3|d|
- +----+----------------------+
- 3rowsinset(0.03sec)