mysql 去重后拼接_MySQL group_concat函数详解

2ff34e647e2e3cdfd8dca593e17d9b0a.png

以Mysql5.7为例.

group_concat属于聚合函数的一种.group_concat是返回结果集合用”,”

拼接,如果为空值返回null.语法1

2

3

4

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

[ORDER BY {unsigned_integer | col_name | expr}

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

[SEPARATOR str_val])示例查看所有数据1SELECT * FROM sys_user;id uname age1 a (NULL)

2 a (NULL)

3 b (NULL)

4 d (NULL)

5 c (NULL)

6 e (NULL)

7 g (NULL)

8 f (NULL)

9 f (NULL)将用户名拼接返回1SELECT GROUP_CONCAT(uname) FROM sys_user ;

group_concat(uname)

a,a,b,d,c,e,g,f,f

3.用户名去重后拼接排序1SELECT GROUP_CONCAT(DISTINCT uname ORDER BY uname ASC) FROM sys_user ;

GROUP_CONCAT(distinct uname order by uname ASC)

a,b,c,d,e,f,g用户名用指定连接符拼接1SELECT GROUP_CONCAT(DISTINCT uname ORDER BY uname SEPARATOR '|') FROM sys_user ;

GROUP_CONCAT(DISTINCT uname ORDER BY uname SEPARATOR ‘|’)

a|b|c|d|e|f|g注意

group_concat默认长度为1024,如果长度超过默认长度会截取返回。根据业务需要,更改长度即可.1SET [GLOBAL | SESSION] group_concat_max_len = val;

返回值是非二进制或二进制字符串,具体取决于参数是非二进制还是二进制字符串。

结果类型为TEXT或BLOB,除非group_concat_max_len小于或等于512,在这种情况下,结果类型为VARCHAR或VARBINARY.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值