>  기사  >  데이터 베이스  >  MySQL函数:group_concat()函数

MySQL函数:group_concat()函数

WBOY
WBOY원래의
2016-06-07 15:54:031838검색

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

本文永久更新链接地址

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:分区的操作类型다음 기사:SSISPerformance-Parallelism