MySQL中group_concat函数

完整的语法如下:

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

基本查询

Sql代码  收藏代码
select * from aa; +------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
6 rows in set (0.00 sec) 以id分组,把name字段的值打印在一行,逗号分隔(默认) Sql代码 收藏代码
select id,group_concat(name) from aa group by id; +------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec) 以id分组,把name字段的值打印在一行,分号分隔 Java代码 收藏代码
select id,group_concat(name separator ';') from aa group by id; +------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec) 以id分组,把去冗余的name字段的值打印在一行, 逗号分隔 Sql代码 收藏代码
select id,group_concat(distinct name) from aa group by id; +------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec) 以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序 Sql代码 收藏代码
select id,group_concat(name order by name desc) from aa group by id; +------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec) 测试sql,项目中用到的。
Sql代码 收藏代码
SELECT
EMPLOYEES.EMPID
,EMPLOYEES.EMPNAME
,DEPARTMENTS.DEPARTMENTNAME
,EMPLOYEES.DEPTID
,EMPLOYEES.EMPPWD
,EMPLOYEES.INSIDEEMAIL
,EMPLOYEES.OUTSIDEEMAIL
,EMPLOYEES.DELEFLAG
,EMPLOYEES.EMPCLASS
,(CONCAT('[', <span style="color: #ff0000;">GROUP_CONCAT</span>
(ROLE.Role_Name SEPARATOR '],['), ']')) AS ROLENAME
,(concat( '[', (
SELECT
<span style="color: #ff0000;">GROUP_CONCAT</span>
(DEPARTMENTS.DEPARTMENTNAME separator '],[')
FROM
EMP_ROLE_DEPT
LEFT JOIN DEPARTMENTS
ON (
DEPARTMENTS.DEPARTMENTID = EMP_ROLE_DEPT.DEPTID
AND DEPARTMENTS.DELEFLAG = 0
)
GROUP BY
EMP_ROLE_DEPT.EMPID
HAVING
EMP_ROLE_DEPT.EMPID = EMPLOYEES.EMPID
),']')) AS DEPARTMENTRIGHT
FROM
EMPLOYEES
LEFT JOIN DEPARTMENTS
ON (
DEPARTMENTS.DEPARTMENTID = EMPLOYEES.DEPTID
AND DEPARTMENTS.DELEFLAG = 0
)
LEFT JOIN ROLE_EMP
ON (ROLE_EMP.EMP_ID = EMPLOYEES.EMPID)
LEFT JOIN ROLE
ON (ROLE_EMP.ROLE_ID = ROLE.ROLE_ID)
<span style="color: #ff0000;"> GROUP BY
EMPLOYEES.EMPID</span> HAVING
EMPLOYEES.EMPID LIKE '%%'
AND EMPLOYEES.EMPNAME LIKE '%%'
AND EMPLOYEES.DELEFLAG = 0
AND (
EMPLOYEES.EMPCLASS = '1'
OR EMPLOYEES.EMPCLASS = '2'
)
AND EMPLOYEES.DEPTID = '001' LIMIT 0
,16

MySQL中group_concat函数-和group by配合使用的更多相关文章

  1. MySQL中group_concat函数 --- 很有用的一个用来查询出所有group by 分组后所有 同组内的 内容

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...

  2. MySQL中group_concat函数深入理解

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . 一.MySQL中group_concat函数 完整的语法如下: gr ...

  3. MySQL中group_concat函数

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) .MySQL中group_concat函数完整的语法如下:group_c ...

  4. mysql中group_concat函数用法

    该函数返回带有来自一个组的连接的非NULL值的字符串结果.该函数是一个增强的Sybase SQL Anywhere支持的基本LIST()函数. 语法结构: GROUP_CONCAT([DISTINCT ...

  5. 关于Mysql中GROUP_CONCAT函数返回值长度的坑

    1.GROUP_CONCAT函数: 功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果. 语法:group_concat( [distinct] 要连接的字段 [order b ...

  6. MYSQL中group_concat( )函数中参数的排序方法

    使用mysql中的group_concat( )函数连接指定字段时,可以先对该字段进行排序. PS:是因为二刷mysql的51道题的第12题遇到的:查询和" 01 "号同学学习的课 ...

  7. MySQL中group_concat()函数的排序方法

    group_concat()函数的参数是可以直接使用order by排序的.666..下面通过例子来说明,首先看下面的t1表. 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要 ...

  8. 关于mysql中GROUP_CONCAT函数的使用

    偶然看到公司存储过程中有个字符串拼接的函数,改bug过程中使用到了,还挺有用的,于是记录下来方便记忆,帮助有需要的人. 这是我需要整理的串,他是调用了一个存储过程,传入组织机构的id和迭代层数,返回来 ...

  9. MySQL中MAX函数与Group By一起使用的注意事项(转)

    mysql> select * from test; +----+-------+------+-------+ | id | name | age | class | +----+------ ...

随机推荐

  1. BC 2015在百度之星程序设计大赛 - 预赛(1)(矩形区域-旋转卡)

    矩形区域 Accepts: 717 Submissions: 1619 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...

  2. matlab 图片批量读取

    1. 指定的路径 单目录data所有图片 file_path = '.\data\';% 图片目录路径 img_path_list = dir(strcat(file_path,'*.jpg'));% ...

  3. 将odbc扩展编译至nodejs程序集中

    1. 下载nodejs https://github.com/joyent/node 2. 下载odbc for nodejs 扩展 https://registry.npmjs.org/odbc/- ...

  4. 怎么样sourceforge开源项目发现,centos安装-同htop安装案例

    一个.htop什么? top是linux下经常使用的监控程序.htop相当于其加强版,颜色显示不同參数.且支持鼠标操作. 详细介绍參看此说明文档. watermark/2/text/aHR0cDovL ...

  5. Net 项目代码风格

    .Net 项目代码风格要求   .Net 项目代码风格要求 PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求&g ...

  6. 将Sublime Text 2搭建成一个好用的IDE(转)

    将Sublime Text 2搭建成一个好用的IDE 说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2 ...

  7. android模拟器与PC的端口映射(转)

    阅读目录 一.概述 二.实现步骤 回到顶部 一.概述 Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身设置为127.0.0.1,而PC并没有为Android模拟器系统指定IP,所 ...

  8. 架构设计之设计模式 (一) 适配器(Adapter)---提高复用性

    简介 简介是为了描述一下该模式是干嘛用的,为了让不了解该模式的人看了之后也有一些新的认识. 本文章分为两部分,第一部分主要介绍适配器模式:第二部分介绍该模式与相近模式的异同. 下午一直在讨论设计模式, ...

  9. 平原绫香 Hirahara Ayaka-Jupiter

    我第一次听到平原绫香(Hirahara Ayaka)久石让在武道馆演唱会.她的歌声真的很震惊! 声音是如此的纯净,演唱会是如此的优雅.她着迷,只是如此美丽. 然后我去检查她的信息.发现Jupiter. ...

  10. 包装类、Object类——Java笔记(八)

    包装类:     基本数据类型的包装类     基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float ...