欢迎来到代码驿站!

Mysql

当前位置:首页 > 数据库 > Mysql

MySQL基于group_concat()函数合并多行数据

时间:2021-04-14 09:05:09|栏目:Mysql|点击:

  一个很有用的函数

  group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。

  通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列合并显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。

  合并的字段分隔符默认为逗号,可通过参数separator指定。

  比如在student表中,有如下5条数据:

  

  有要求如下:“小明”的两行成绩可以放在一行展示,“小红”的两行成绩也放在一行展示!

  那么就可以使用

    SELECT name,group_concat(subject,score) FROM student group by name;

  查询结果如下:

  

  也可以自定义分隔符

    SELECT name,group_concat(subject,score separator '--') FROM student group by name;

  查询结果如下:

    

  如果不使用group by name;会怎么样呢?

    SELECT name,group_concat(subject,score) FROM student;

  查询结果如下(只展示一行了,跟name属性无关了):

  

上一篇:浅析使用JDBC操作MySQL需要添加Class.forName("com.mysql.jdbc.Driver")

栏    目:Mysql

下一篇:MySQL使用MRG_MyISAM(MERGE)实现分表后查询的示例

本文标题:MySQL基于group_concat()函数合并多行数据

本文地址:http://www.codeinn.net/misctech/101103.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有