• 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进行的分组
    在这里插入图片描述

  • 相关阅读:
    python tkinter 使用(三)
    2024制造企业数字化趋势
    在清凉客厅,和飞利浦Fidelio B95家庭影院一起感受炙热好声音
    Vue介绍&如何安装vue&Vue生命周期钩子&MVVM
    附文献!艾美捷抗人IFN-αmAb(MT1)未偶联相关研究
    现在的00后,实在是太卷了,我们这些老油条都想辞职了......
    如何将 Docsify 项目部署到 CentOS 系统的 Nginx 中?
    Kotlin高仿微信-第14篇-单聊-视频通话
    详解Promise使用
    电子学:第009课——实验 7:研究继电器
  • 原文地址:https://blog.csdn.net/weixin_40964170/article/details/126747840