码迷,mamicode.com
首页 > 数据库 > 详细

Mysql函数group_concat()函数

时间:2015-05-05 16:49:40      阅读:163      评论:0      收藏:0      [点我收藏+]

标签: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<=512时,为VARCHAR或VARBINARY,当大于该值时为TEXT和BLOB。

本文出自 “LinuxOracle” 博客,请务必保留此出处http://onlinekof2001.blog.51cto.com/3106724/1642082

Mysql函数group_concat()函数

标签:group_concat

原文地址:http://onlinekof2001.blog.51cto.com/3106724/1642082

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!