语法:

GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name ...]][SEPARATOR str_val])

下面演示一下这个函数,先建立一个学生选课表student_courses,并填充一些测试数据。

SQL代码

CREATE TABLE student_courses (

student_id INT UNSIGNED NOT NULL,

courses_id INT UNSIGNED NOT NULL,

KEY(student_id)

);

INSERT INTO student_courses VALUES (1, 1), (1, 2), (2, 3), (2, 4), (2, 5);

若要查找学生ID为2所选的课程,则使用下面这条SQL:

SQL代码

mysql> SELECT student_id, courses_id FROM student_courses WHERE student_id=2;

+------------+------------+

| student_id | courses_id |

+------------+------------+

| 2 | 3 |

| 2 | 4 |

| 2 | 5 |

+------------+------------+

3 rows IN SET (0.00 sec)

而如果采用GROUP_CONCAT()函数和GROUP BY语句就显得非常简单了,如下所示:

SQL代码

mysql> SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;

+------------+---------+

| student_id | courses |

+------------+---------+

| 2 | 3,4,5 |

+------------+---------+

1 row IN SET (0.00 sec)

GROUP_CONCAT将某一字段的值按指定的字符进行累加,系统默认的分隔符是逗号,可以累加的字符长度为1024字节。可以对这些参数进行修改。

1.MySQL统计函数GROUP_CONCAT使用:先举一个简单的例子

select group_concat(f_a) from t_one group by f_b;

按f_b进行分组查询,将每组中的f_a进行累加。

2.修改默认的分隔符

select group_concat(f_a separator '_') from t_one group by f_b;

separator 是一个关键字,后面跟着要进行分隔的字符

3.排序

select group_concat(f_a order by f_a separator '_') from t_one group by f_b;

4.修改默认字符大小

1).在MySQL配置文件中加上

group_concat_max_len = 102400 #你要的最大长度

2).可以简单一点,执行语句,可以设置作用范围

SET GLOBAL group_concat_max_len=102400;

SET SESSION group_concat_max_len=102400;

5.MySQL统计函数GROUP_CONCAT使用:和concat使用

group_concat默认返回的是BLOB大对象,可以使用concat,返回字符串,还可以在返回的内容,在加入其它的数据。

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-11/74145p2.htm

mysql GROUP_CONCAT 可以将分组的字段进行拼接处理.

GROUP_CONCAT 可以将分组的字段进行拼接处理. SELECT g.id, g.merchant_id, g. NAME, g.introduction, g.cover_pic, g.pla ...

MySQL之——GROUP BY分组取字段最大值

转载自:http://blog.csdn.net/l1028386804/article/details/54657412 假设有一个业务场景,需要查询用户登录记录信息,其中表结构如下: CREATE ...

Mysql:实现分组查询拼接未分组同一字段字符group_concat()

Mysql:实现分组查询拼接未分组同一字段字符group_concat() MySQL中,如果想实现将分组之后的多个数据合并到一列,可以使用group_concat函数,如下图所示: 在oralce中 ...

mysql GROUP_CONCAT+ GROUP BY + substring_index获取分组的前几名

mysql方法来源于:http://www.cnblogs.com/jjcc/p/5896588.html ###在网上看到一篇,非常赞的方法### 比如说要获取班级的前3名,mysql就可以用GRO ...

mysql GROUP_CONCAT获取分组的前几名

比如说要获取班级的前3名,oracle 可以用 over partition by 来做.mysql就可以用GROUP_CONCAT  + GROUP BY + substring_index实现. ...

mysql group by 对多个字段进行分组

在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据.比如有一个学生选课表,表结构如下: Table: Subject_Selection S ...

MySQL GROUP_CONCAT()函数 -- 字段合并查询

在做查询的时候遇到一个问题,今天分享一下解决方法. 先看一下我想要什么效果. 清单名称类型要点,后面两列为清单步骤(外键表) 但我并不想让主表的内容重复那么多遍,于是 distinct去重.子查询.左 ...

教您如何使用MySQL group_concat函数

MySQL group_concat函数是典型的字符串连接函数,下面就为您介绍MySQL group_concat的语法,希望对您学习MySQL group_concat函数有所帮助. MySQL g ...

mysql group_concat用法

MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔 ...

随机推荐

asp.net读取txt并导入数据库

源地址:http://www.cnblogs.com/hfzsjz/p/3214649.html

ASP.NET MVC- KindEditor的使用

我用过几个EDITOR,还是比较喜欢KINDEDITOR.这个工作可能最近要用到了,周末在家花时间了解了一下.做了一下备注在这里,以备日后方便查阅. 1.首先去KINDEDITOR的官网下载最新的版本 ...

Netbackup备份失败:ORA-19506 ORA-27028 ORA-19511

Netbackup之前备份RAC数据一直都非常正常,突然这几天出现异常: channel ch00: starting piece 1 at 2013-11-24:18:02:32released c ...

你使用PetaPoco必须知道的事情

之前没有用PetaPoco调用过存储过程,今天发现问题 Sql sql = ); var list = sqlserverDB.GetInstance().Fetch

检测delphi的程序的内存泄漏

在主窗体的FormCreate 加入ReportMemoryLeaksOnShutdown := True;

开源项目商业模式分析(2) - 持续维护的重要性 - Selenium和WatiN

该系列第一篇发布后收到不少反馈,包括: 第一篇里说的MonicaHQ不一定盈利 没错,但是问题在于绝大多数开源项目商业数据并没有公开,从而无法判断其具体是否盈利.难得MonicaHQ是公开的,所以才用 ...

JS实现随机背景图片与图片大小变换的效果

经常在网上见一些网站访问一次背景图片改变一次,而且图片的大小不停变换,于是想着自己研究一下. 背景图片可以通过JS的随机数来改变图片的src来实现随机图片,图片的大小变换可以用JS的setInterv ...

vue路由6:导航钩子

首页

bean标签常用属性

scope属性: singleton:只有一个 prototpye:每次创建都是新的 对象初始化方法: init-method 对象销毁方法: destroy-method

mysql组合字段语句_mysql group_concat 使用 (按分组组合字段)相关推荐

  1. mysql 查询字段语句_mysql查询语句常用字段操作函数

    一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为nu ...

  2. mysql添加多字段语句_mysql添加多个字段sql语句

    1.mysql 怎么给一个表一次增加多个字段 一.添加字段的命令如下:alter table tableName add newColumn varchar(8) comment '新添加的字段' 1 ...

  3. mysql增数据语句_Mysql 数据增删改查语句

    插入数据 insert #1. 插入完整数据(顺序插入)#语法一: insert into 表名(字段1,字段2,字段3-字段n) values (值1,值2,值3-值n);#语法二: insert ...

  4. mysql order by 语句_Mysql优化order by语句的方法详解

    本篇文章我们将了解ORDER BY语句的优化,在此之前,你需要对索引有基本的了解,不了解的老少爷们可以先看一下我之前写过的索引相关文章.现在让我们开始吧. MySQL中的两种排序方式 1.通过有序索引 ...

  5. mysql字段优化_MySQL优化(1):字段的设计

    Web项目中,当Java或者Go等语言速度提升到瓶颈的时候,我们需要关心MySQL的优化 可以优化的方面有很多:设计表.负载均衡.读写分离.SQL语句优化等 (1)IP地址设计 例如我们需要存储IP地 ...

  6. mysql命令行语句_MySql命令行命令和SQL语句

    一.常用mysql命令行命令 1.启动MYSQL服务 net start mysql 停止MYSQL服务 net stop mysql 2.netstat -na|findstr 3306 查看被监听 ...

  7. mysql的dml语句_Mysql基础入门-SQL_DML语句

    DML语句: DML操作是指对数据库中的表进行操作,主要包括记录的插入(insert),更新(update),删除(delete),查询(select). 记录插入 创建表完成后就需要给器插入记录和数 ...

  8. mysql 数据库操作语句_mysql数据库操作语句大全

    一 . 常用mysql命令行命令 1 .启动MYSQL服务 net start mysql 停止MYSQL服务 net stop mysql 2 . netstat –na | findstr 330 ...

  9. mysql json 创建索引_MySQL · 最佳实践 · 如何索引JSON字段

    概述 MySQL从5.7.8起开始支持JSON字段,这极大的丰富了MySQL的数据类型.也方便了广大开发人员.但MySQL并没有提供对JSON对象中的字段进行索引的功能,至少没有直接对其字段进行索引的 ...

最新文章

  1. C#编程语言与面向对象——继承
  2. 拉格朗日乘子法学习[转载]
  3. 解读系统资质审批的相关政策
  4. matlab估计arma残差,python ARIMA 时间序列
  5. Picturebox实现图片的缩放
  6. Taobao 的 Linux 内核开源贡献
  7. 卷积神经网络的基本原理
  8. 网页几种保存类型与html文件格式,HTML 网页文件保存的格式为html或htm (5.0分)
  9. java-php-python-ssm医院诊疗信息管理计算机毕业设计
  10. 简单彩虹动画的效果实现
  11. Linux命令查看Linux服务器内存、CPU、显卡、硬盘使用情况
  12. 一文搞定BP神经网络——从原理到应用(原理篇)
  13. Html-照片的逐步出现 、心形动画制作、3d立方体魔方、鼠标划过box阴影练习
  14. 虚幻属性系统(反射)
  15. 搭建自己的在线IDE
  16. Android 判断是否是刘海屏
  17. 通用课程表教师表php,利用Access实现学校课程表的科学管理
  18. 修改Oracle序列值
  19. 港美股系统开发软件开发之证券交易软件供应商对比
  20. CVPR2022 目标检测方向文章(附摘要)

热门文章

  1. MySQL 锁(二):间隙锁笔记
  2. 根据经纬度计算范围_高考地理地理计算专题
  3. command_execution
  4. mahout类似的开源项目
  5. 关于论文查重的相关知识
  6. VS2015 编译开源的基于Opencascade的3D查看器Mayo
  7. 基于struts2的留言板系统简单实现jdbc分页
  8. 为什么邮件发的邮箱会进垃圾箱?企业邮箱进垃圾箱有什么处理方法?
  9. 在Android手机上安装Ubuntu完整版
  10. 便携式储能系统---“钱景”无限