mysql两张表数据合并查询_oracle把多条记录合并成一条

mysql两张表数据合并查询_oracle把多条记录合并成一条MYSQL 单表一对多查询,将多条记录合并成一条记录

大家好,又见面了,我是你们的朋友全栈君。

一、描述:

  在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图)

    mysql两张表数据合并查询_oracle把多条记录合并成一条

    想要达到的效果:

    mysql两张表数据合并查询_oracle把多条记录合并成一条

    实现SQL语句:

1 SELECT 
2   a.books,
3   GROUP_CONCAT(a.name SEPARATOR '||') AS NAMES,
4   GROUP_CONCAT(a.code SEPARATOR '||') AS codes
5 FROM
6   temp_info a 
7 GROUP BY a.books ;

 二、关键词 GROUP_CONCAT():(返回一个字符串结果,该结果由分组中的值连接组合而成。)

  语法结构:

1 GROUP_CONCAT(
2   [ DISTINCT ] expr [,
3   expr...] [ 
4   ORDER BY { unsigned_integer | col_name | formula } [ ASC | DESC ] [,
5   col...] ] [ SEPARATOR str_val ]
6 )

  要点:

  1、通过使用 DISTINCT 可以排除重复值。

  2、如果希望对结果中的值进行排序,可以使用 ORDER BY 子句。

3、SEPARATOR: 一个字符串值,它被用于插入到结果值中。缺省为一个逗号 (“,”),可以通过指定 SEPARATOR “” 完全地移除这个分隔符。

4、group_concat_max_len:可以设置一个最大的长度。

  语法: 1 SET [SESSION | GLOBAL] group_concat_max_len = unsigned_integer; 

5、如果最大长度被设置,结果值未到达到该长度,则结果值会被增加到这个长度。

6、如果分组的字符过长,可以对系统参数进行设置:SET @@global.group_concat_max_len=40000;

 注意:

  group_concat_max_len在MySQL的配置文件中是有默认值的!最大值为1024,如果要想该函数按需求设置长度,使用:

   1 SET GLOBAL group_concat_max_len=-1; 

  查看group_concat_max_len最大长度:

   1 show variables like group_concat_max_len; 

三、使用实例:

  mysql两张表数据合并查询_oracle把多条记录合并成一条

1 SELECT 
2   a.books,
3   GROUP_CONCAT(DISTINCT a.name SEPARATOR '||') AS NAMES,  -- 使用 distinct 去除重复数据、
4   GROUP_CONCAT(a.code ORDER BY a.code DESC SEPARATOR '||') AS codes  -- 使用order by 对数据进行排序 
5 FROM
6 temp_info a
7 GROUP BY a.books ;

  mysql两张表数据合并查询_oracle把多条记录合并成一条

 

转载于:https://www.cnblogs.com/zjoe-life/p/10523071.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106933.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月21日 下午8:00
下一篇 2022年4月21日 下午8:00


相关推荐

  • 豆包大模型API配置完成后,调用失败

    豆包大模型API配置完成后,调用失败

    2026年3月12日
    2
  • UE4制作星际天空球[通俗易懂]

    UE4制作星际天空球[通俗易懂]效果图:需要的东东西:6张无缝连接的图片,如果没有的推荐大家下载“Spacescape”3dsMax2018软件EpicGamesLauncher(UE4游戏引擎)然后就是阅读本博客了教程开始首先教大家使用Spacescape如果有素材的读者可以直接跳过打开界面如下点击左上角文件打开或者直接快捷键Ctro+O选择素材笔者推荐最后两个,不过无妨大家都

    2026年4月16日
    2
  • EditPlus注册码

    EditPlus注册码1 EditPlus 注册码 Name crskyCode 7879E 5BF58 7DR23 DAOB2 7DR30 nbsp 2 将一下内容用记事本保存成 reg 格式 然后双击即可 WindowsRegis 00 HKEY CURRENT USER Software ES Computing EditPlus3 I

    2026年3月19日
    2
  • 一、导航菜单_苹果cms什么导航菜单

    一、导航菜单_苹果cms什么导航菜单一、导航菜单即页面样式,组成很简单,即一个文本输入框<input>和一个搜索图标,这里图标可以自行搜索下载一个,或者像下面一样使用在线图标,全部代码如下:先在<header&gt

    2022年8月1日
    6
  • clearfix_Clear クリア

    clearfix_Clear クリア.clearfix:after{content:”.”;display:block;height:0;clear:both;visibility:hidden;}.clearfix{display:inline-block;}/*HidesfromIE-mac\*/*html.clearfix{he

    2025年8月25日
    3
  • 锐捷交换机配置手册完整

    锐捷交换机配置手册完整锐捷S3550配置手册第一部分:交换机概述一:交换机的几种配置方法本部分包括以下内容:控制台远程登录其它配置方法本部分内容适用于交换机、路由器等网络设备。 控制台用一台计算机作为控制台和网络设备相连,通过计算机对网络设备进行配置。1、硬件连接:把Console线一端连接在计算机的

    2022年6月15日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号