语法: GROUP _ CONCAT ([DISTINCT] expr [,expr …][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name …]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表student_courses,并填充一些测试数据。 SQL 代码 复制代码 代码如下:CREATE TABLE student_courses (          student_id INT UNSIGNED NOT NULL,          courses_id INT UN group _ concat ( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] ) group _ concat 函数首先根据 group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。 group _ concat ([distinct] 字段名 [order by 排序字段 asc/desc] [separator ‘分隔符’])将 group by产生的同一个分组中的 连接起来,返回一个字符串结果。 CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `name` char(20) DEFAULT '' COMMENT '分类名', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='\u6587\u7ae0\u5206\u7c7b\u8868'; article表: 这个需求需要一个类似于树形的查询结果,我们可以把每个value关联的所有resource_id以某种当时 拼接 起来,只要自己能够找到相应方式拿出来用就行了。经过查询pg sql 支持的聚合查询,找到一个函数: 聚合函数:string_agg(resource_id, ',') 在数据库运行以下 sql : select value, stri 比较抽象,难以理解。 通俗点理解,其实是这样的: group _ concat ()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据 group by指定的列进行分组。 group _ concat 函数应该是在内部执行了gro 1、 concat concat () 函数用于将多个字符串连接成一个字符串。 concat (string s1, string s2, string s3,…)表示通过s1、s2和s3连接一起 +----+--------+ | id | name | +----+--------+ | 1 | city | +----+--------+ CONCAT (id,’:’,name) = 1:city 2、 concat _ws concat _ws() 指定参数之间的分隔符 concat _ws(s My SQL group _ concat 函数完整的语法如下: group _ concat ([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator 分隔符])基本查询my sql > select * from aa;+------+------+| id| name |+------+------+|1 | 10| GROUP BY GROUP _ CONCAT () 根据字段进行分组 ,然后将某一个字段所有 合并. GROUP _ CONCAT 函数实现。 1、 GROUP _ CONCAT 功能:将 group by产生的同一个分组中的 连接起来,返回一个字符串结果。 2、语法: group _ concat ( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] ) 说明:通过使用distinct可以排除重复 ;如果希望对结果中的 进行排序,可以使用order by子句;