一、描述:

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

想要达到的效果:

实现SQL语句:

SELECT

a.books,

GROUP_CONCAT(a.name SEPARATOR '||') AS NAMES,

GROUP_CONCAT(a.code SEPARATOR '||') AS codes

FROM

temp_info a

GROUP BY a.books ;

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

语法结构:

GROUP_CONCAT(

[ DISTINCT ] expr [,

expr...] [

ORDER BY { unsigned_integer | col_name | formula } [ ASC | DESC ] [,

col...] ] [ SEPARATOR str_val ]

)

要点:

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

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

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

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

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

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

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

注意:

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

SET GLOBAL group_concat_max_len=-1;

查看group_concat_max_len最大长度:

show variables like 'group_concat_max_len';

三、使用实例:

SELECT

a.books,

GROUP_CONCAT(DISTINCT a.name SEPARATOR '||') AS NAMES, -- 使用 distinct 去除重复数据、

GROUP_CONCAT(a.code ORDER BY a.code DESC SEPARATOR '||') AS codes -- 使用order by 对数据进行排序

FROM

temp_info a

GROUP BY a.books ;

MySQL单表多次查询和多表联合查询,哪个效率高?

很多高性能的应用都会对关联查询进行分解. 简单地,可以对每个表进行一次单表查询,然后将结果在应用程序中进行关联.例如,下面这个查询: select * from tag join tag_post o ...

MYSQl 全表扫描以及查询性能

MYSQl 全表扫描以及查询性能 -- 本文章仅用于学习,记录 一. Mysql在一些情况下全表检索比索引查询更快: 1.表格数据很少,使用全表检索会比使用索引检索更快.一般当表格总数据小于10行并且 ...

MySQL单表多字段模糊查询

今天工作时遇到一个功能问题:就是输入关键字搜索的字段不只一个字段,比如 我输入: 超天才 ,需要检索出 包含这个关键字的 name . company.job等多个字段.在网上查询了一会就找到了答案. ...

Mysql 单表查询 子查询 关联查询

数据准备: ## 学院表create table department( d_id int primary key auto_increment, d_name varchar(20) not nul ...

python 3 mysql 单表查询

python 3 mysql 单表查询 1.准备表 company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职 ...

Mysql 单表查询-排序-分页-group by初识

Mysql 单表查询-排序-分页-group by初识 对于select 来说, 分组聚合(((group by; aggregation), 排序 (order by** ), 分页查询 (limi ...

Mysql 单表查询where初识

Mysql 单表查询where初识 准备数据 -- 创建测试库 -- drop database if exists student_db; create database student_db ch ...

MYSQL单表可以存储多少条数据???

MYSQL单表可以存储多少条数据??? 单表存储四千万条数据,说MySQL不行的自己打脸吧. 多说一句话,对于爬虫来说,任何数据库,仅仅是存储数据的地方,最关心的是 能否存储数据和存储多少数据以及存储 ...

MySQL单表数据不超过500万:是经验数值,还是黄金铁律?

今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行.那么,你觉得这个数值多少才合适呢? 曾经在中国互联网技术圈广为流传着这么一个 ...

随机推荐

SQL Server 2000: 维护计划无法执行

开启“sql server agent”服务,控制面板-->管理工具-->服务

重新想象 Windows 8 Store Apps (68) - 后台任务: 控制通道(ControlChannel)

[源码下载] 重新想象 Windows 8 Store Apps (68) - 后台任务: 控制通道(ControlChannel) 作者:webabcd 介绍重新想象 Windows 8 Store ...

mouseover和mouseout闪烁问题

在父级元素上注册了mouseover和mouseout事件后,当鼠标移动到子元素上时,会触发父级的mouseout和mouseover事件,反复触发,形成闪烁. 原因: 一种是由于冒泡,子级的mous ...

Android(java)学习笔记113:Android编写代码调用Vibrator震动功能(Bug:按下按钮button始终没有震动)

1.之前我编写的代码是如下: package com.himi.vibrate; import android.app.Activity; import android.app.Service; im ...

ListView属性

1. 背景色: listView设置背景色android:background="@drawable/bg",拖动或者点击list空白位置的时候发现ListItem都变成黑色. 因 ...

css设置滚动条颜色与样式以及如何去掉与隐藏滚动条

我们大家在浏览网页的时偶尔会看到很漂亮的各种颜色样式的滚动条,这就是通过css代码控制来实现的,于是本人搜集整理一番,这里和大家分享一下使用CSS设置滚动条颜色以及如何去掉滚动条的方法,需要的朋友可以 ...

Spark Scheduler模块源码分析之DAGScheduler

本文主要结合Spark-1.6.0的源码,对Spark中任务调度模块的执行过程进行分析.Spark Application在遇到Action操作时才会真正的提交任务并进行计算.这时Spark会根据Ac ...

Git 本地保存账号密码的删除或修改

转自:https://blog.csdn.net/lwqldsyzx/article/details/61228299 Git 本地拉取代码时需要输入用户名和密码时,会自动将用户名密码信息保存起来.需 ...

BZOJ.5319.[JSOI2018]军训列队(主席树)

LOJ BZOJ 洛谷 看错了,果然不是\(ZJOI\)..\(jry\)给\(JSOI\)出这么水的题做T3么= = 感觉说的有点乱,不要看我写的惹=-= 对于询问\(l,r,k\),设\(t=r- ...

Poco::Crypto--加解密_RSA

Poco::Crypto--加解密(RSA) 1.简单的加解密 Cipher::Ptr pCipher = CipherFactory::defaultFactory().createCipher(R ...

mysql 一对多 右表多条记录合并_MYSQL 单表一对多查询,将多条记录合并成一条记录...相关推荐

  1. iBatis 事务控制 与 两表操作将SQL语句写入单表

    事务控制 示例: // move data from temp_table to work_tabletry {sqlMapClient.startTransaction();T03SlipWk or ...

  2. mysql单表1000万条_mysql单表千万条数据测试

    软件环境:win7,mysql版本5.5,InnoDB存储引擎. 硬件环境:普通笔记本,CPU P8700双核2.53GHz,内存3G,5400转机械硬盘1000GB. 建了一张表,id列是自增长bi ...

  3. mysql 单表多级查询_mysql单表与多表查询

    单表查询 """ 增: insert [into] [数据库名.]表名[(字段1[, ..., 字段n])] values (数据1[, ..., 数据n])[, ... ...

  4. 物理机存放mysql实例原则_MySQL优化笔记(四)--表的设计与优化(单表、多表)...

    前面讲了SQL优化以及索引的使用.设计优化了,那么接下来就到表的设计与优化啦!!!真实地去设计优化单表结构以及讲述多表设计基本原则(结合真实的生产环境的取舍来讲述). 文章结构:(1)单表设计与优化: ...

  5. mysql的innodb表生成的物理文件_MySQL innodb表使用表空间物理文件复制或迁移表

    MySQL InnoDB引擎的表通过拷贝物理文件来进行单表或指定表的复制,可以想到多种方式,今天测试其中2种: 将innodb引擎的表修改为Myisam引擎,然后拷贝物理文件 直接拷贝innodb的表 ...

  6. python count函数用法 comm_python3:MySQL 8.0学习笔记(第五部分:单表查询操作)

    在讲解单表查询时,首先创建一个emp的员工表,表中字段包括:empno(员工编号).ename(员工姓名).job(员工职位).mgr(员工领导).hiredate(员工入职日期).sal(员工月薪) ...

  7. mysql单表操作_mysql单表操作

    mysql记录操作 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DEL ...

  8. mysql 关键字模糊查询_MySQL单表多关键字模糊查询的实现方法

    在最近的一个项目需要实现在MySQL单表多关键字模糊查询,但这数个关键字并不一定都存在于某个字段.例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题 ...

  9. mysql单个查询_MySQL单表查询实例详解

    1.准备数据 以下操作将在该表中进行 create table student ( id int unsigned primary key auto_increment, name char(12) ...

最新文章

  1. 实验1 命令解释程序的编写
  2. 蜜罐技术——通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析...
  3. android res文件夹下面的 values-v11 、 values-v14
  4. [二叉树]序列化二叉树 (剑指offer61)
  5. process launch failed: Security
  6. 【英语学习】【WOTD】farouche 释义/词源/示例
  7. pymysql安装_pymysql 模块简单使用
  8. cesium three性能比较_硬金和千足金都是黄金,哪个比较好?为什么80%人都说硬金不好?...
  9. python gridsearch_Python超参数自动搜索模块GridSearchCV上手
  10. 单调栈:leetcode 84. 柱状图中最大的矩形/85最大矩形
  11. python慢的原因_为什么 Python 这么慢?
  12. 大数据电影可视化系统
  13. android视频教程地址
  14. Laravel的Migration 和 Seeder 使用
  15. 【最终省二】全国大学生数学建模大赛-参赛经历
  16. 阶的估计I 无穷小量与强函数2 Taylor公式 基本初等函数与三角函数的阶
  17. paip QQ音乐导出歌单总结
  18. 施普林格(Springer)免费书籍
  19. 普通for和增强for
  20. 我们分析了200款“二次元游戏”,最终发现了这些

热门文章

  1. php 可控制几率算法,PHP实现中奖概率算法
  2. 手机来电通核心模块——归属地数据库设计(Winsym原创)
  3. 上海宝付谈移动支付风头正劲行业期待统一“标准”
  4. window 环境下 apache james 3.0-beta4 安装、搭建、运行。
  5. input函数html,input
  6. JS利用日期判断星期几
  7. 基于MuPDF库实现PDF文件转换成PNG格式图片
  8. 【SFS线性化方法】Tsai方法在侧扫声呐中的应用(二)
  9. 关于侧扫声呐中地貌描述问题
  10. 破局者DFINITY