• mysql分组concat() concat_ws() group_concat()


    一、concat()函数

    功能:将多个字符串连接成一个字符串。

    语法1:concat(str1, str2,…)

    返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。

    语法2:concat(str1, seperator,str2,seperator,…)

    返回结果为连接参数产生的字符串并且有分隔符,如果有任何一个参数为null,则返回值为null。

    二、concat_ws()函数

    功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符(concat_ws就是concat with separator)

    语法:concat_ws(separator, str1, str2, …)

    说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

    三、group_concat()函数

    功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

    语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )

    说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

    四、案例

    1、数据库表

    create table t_orders (
    id int primary key auto_increment,
    userId int,
    orderId varchar(20)
    );
    
    insert into t_orders(userId, orderId) values(1, '100');
    
    insert into t_orders(userId, orderId) values(1, '101');
    
    insert into t_orders(userId, orderId) values(1, '102');
    
    
    insert into t_orders(userId, orderId) values(2, '200');
    
    insert into t_orders(userId, orderId) values(2, '201');
    
    insert into t_orders(userId, orderId) values(3, '300');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    2、查询

    普通查询
    在这里插入图片描述
    以 userId 分组,把 orderId 字段的值打印在一行,逗号分隔
    在这里插入图片描述
    以 userId 分组,把 orderId 字段的值打印在一行,分号分隔
    在这里插入图片描述
    以 userId 分组,把 orderId 字段的值打印在一行,降序排列
    在这里插入图片描述

    小结

    concat和concat_ws都是按不同字段拼接起来 ,例如将A和B字段拼接
    在这里插入图片描述

    group_concat是按group by的字段,进行同一个字段的拼接,这里是根据userId进行的分组
    在这里插入图片描述

  • 相关阅读:
    android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用
    适合运动的耳机推荐,2022年值得买的六款运动蓝牙耳机
    torch.autograd
    【树】B树与B+树
    Maven打Jar包,启动报NoClassDefFoundError错误
    Overleaf中使用 LaTex制作PPT
    医会宝APP登录体验
    电脑文件自动备份到u盘,怎么实现?
    Java面试题及答案整理(2022最新版)
    docker更新镜像
  • 原文地址:https://blog.csdn.net/weixin_40964170/article/details/126747840