该函数支持对同一分组内聚集列字符串进行连接,其完整的语法如下所示:
GROUP_CONCAT ( [distinct]
expr
[order by …[asc/desc]]
[topN xxxx]
[separator 'xxxx']
)
参数说明
distinct:去除同一分组内聚集列的重复值。可选。默认值:保留重复值。
注意: distinct 参数能跟order by 互斥。
expr:聚集列:基于列的表达式,支持多种类型。必选。
[ order by …[asc/desc] ]:对于同一分组内聚集列的值会按照排序列的排列顺序
输出。可选,支持多列排序列表,可指定排序列的升降序。
默认值:
不输入排序列表,
则按聚集列的字符串排序规则升序排序。
注意:order
by 参数跟distinct 互斥。
[topN xxxx]:表示同一分组内最多输出聚集列的行值个数。可选。
默认值: 不输入topN 值,则输出同一分组内的聚集列所有行值。
限制值:topN 表示一行中连接字符串的最多个数,topN 决定了后续引擎计算
分配的内存大小等相关信息,不易设置过大。
注意:topN 为0 时,不对任何行做聚集,group_concat 函数的值为NULL。
[separator 'xxxx']:同一分组内聚集列的行值之间分隔符。可选。
默认值:不输入分隔符,则默认分隔符为半角逗号。
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 568
限制值:无限制长度,但是
GROUP_CONCAT
输出结果超过
group_conat_max_len 会报错。