【GROUP_CONCAT】使用之MySQL官方文档说明


文档地址:http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat


GROUP_CONCAT(expr)


该函数以源自于一个分组的被拼接的非空值返回一个字符串结果。如果没有非空值它返回NULL。完整的语法如下:

GROUP_CONCAT([DISTINCT] expr [,expr ...]

             [ORDER BY {unsigned_integer | col_name | expr}

                 [ASC | DESC] [,col_name ...]]

             [SEPARATOR str_val])

mysql> SELECT student_name,

    ->     GROUP_CONCAT(test_score)

    ->     FROM student

    ->     GROUP BY student_name;

或者:

mysql> SELECT student_name,

    ->     GROUP_CONCAT(DISTINCT test_score

    ->               ORDER BY test_score DESC SEPARATOR ' ')

    ->     FROM student

    ->     GROUP BY student_name;

MySQL中,你可以得到组合语句的拼接值。过滤重复值,使用“DISTINCT”子句。对结果中的值进行排序,使用“ORDER BY”子句。颠倒排序,给“ORDER BY”子句中你要排序的字段名加上“DESC”(descending)关键字。默认是升序排序,这可以通过关键字“ASC”显式指定。一个分组的值之间的默认分隔符是逗点(“,”)。显式指定分隔符,使用尾随可以被插入分组值之间字面义字符串的“SEPARATOR”关键字。完全消除分割,指定“SEPARATOR”为''

超出系统变量“group_concat_max_len”所给出的最大长度的结果值被截断,该默认值为1024。这个值可以设置的更大一些,不过返回值的实际最大长度受“ max_allowed_packet”值的约束。服务器运行时修改“group_concat_max_len”值的语法如下,其“val”是一个无符号整值:

SET [GLOBAL | SESSION] group_concat_max_len = val;

返回值是一个二进制或非二进制字符串,这取决于参数是否是二进制或非二进制字符串。除非“group_concat_max_len”小于等于512,此时结果类型是“VARCHAR”或者“VARBINARY”,否则结果类型是“TEXT”或“BLOB”。

参见“CONCAT()”和“CONCAT_WS()”:章节12.5,“String Functions”。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值