美文网首页
mySql中将多行数据合并成一行数据(GROUP_CONCAT函

mySql中将多行数据合并成一行数据(GROUP_CONCAT函

作者: 顽固的小BUG | 来源:发表于2019-08-23 12:01 被阅读0次

    一个字段可能对应多行数据,用GROUP_CONCAT函数实现多行数据合并成一行,并用指定分隔符进行分割。

    例如:角色数据表(frame_role)中的角色排序字段(ordernumber)、角色名称字段(rolename),使用以下SQL进行查询:

    select ordernumber,rolename from frame_role order by ordernumber desc;
    

    查询出来的列表为图1所示:

    1.png

    修改过后的SQL语句:

    select ordernumber,group_concat(roleguid separator ';') from frame_role group by ordernumber
    

    查询出来的列表为图2所示:


    2.png

    如果修改后的SQL语句不进行分组查询,则会合并成一行数据:

    select ordernumber,group_concat(roleguid separator ';') from frame_role
    

    查询出来的列表为图3所示:


    3.png
    GROUP_CONCAT()函数解释
    1. GROUP_CONCAT()中的值为你要合并的数据的字段名;
      SEPARATOR 函数是用来分隔这些要合并的数据的;
      ' '中是你要用哪个符号来分隔;
    2. 必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录

    相关文章

      网友评论

          本文标题:mySql中将多行数据合并成一行数据(GROUP_CONCAT函

          本文链接:https://www.haomeiwen.com/subject/ctaasctx.html