group_concat(expr)该函数将非空列值按照分组条件进行合并并最终返回。如果有空值,则返回为空,其完整语法如下:group_concat([
group_concat(expr)
该函数将非空列值按照分组条件进行合并并最终返回。如果有空值,则返回为空,,其完整语法如下:
group_concat([distinct] expr [,expr ...]
[order by {unsigned_integer | col_name | expr}
[asc | desc] [,col_name ...]]
[separator str_val])
举例 列1:
select
emp_id,
sum(value1),
sum(value2),
sum(value3),
group_concat(reas_1 separator ';'),
group_concat(reas_2),
group_concat(reas_3)
from
act_gp_test
group by
emp_id
列2:
select
emp_id,
sum(value1),
sum(value2),
sum(value3),
group_concat(reas_1,reas_2,reas_3 separator ';')
from
act_gp_test
group by
emp_id
上面列1和列2的区别在于,列2是将字段reas_1,reas_2,reas_3作为一个完整的字段逐条合并。
该函数的最大长度收到环境变量group_concat_max_len的限定,其默认值为1024,当然可以设置的更高。同时有效的最大返回长度也受max_allowed_packet的约束。
在运行是修改group_concat_max_len的语法如下:
set [global | session] group_concat_max_len = val;
返回的结果是二进制还是非二进制字符,取决于函数内取值字段的本身。一般当group_concat_max_len
本文永久更新链接地址: