先根据如下语句生成测试表并填充数据

CREATE TABLE z ( a INT, b INT);
INSERT INTO Z SELECT 1,200;
INSERT INTO Z SELECT 1,100;
INSERT INTO Z SELECT 1,100;
INSERT INTO Z SELECT 2,400;
INSERT INTO Z SELECT 2,500;
INSERT INTO Z SELECT 3,NULL;
接着根据a列进行分组,并使用聚合函数GROUP_CONCAT,SQL语句如下

SELECT a, GROUP_CONCAT(b)
FROM z
GROUP BY a;
运行结果如下
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHIAAACDCAIAAADecdiWAAAFSElEQVR4nO2dXW7bOBCAeZycwBB0gpzDLXSPvDouoAP4BkV/FoX8nhMYa6dPArZO2zS7eYliR7Ety5h9kETrL4pbc8ShPB+IQKGNaPhlTFHDQBHvP3zhpryJ9x++AKMa/VoXi4XeABQix8JaVUJI6+Pjo94AFCLHwlpVwlpRIKQ1CAK9ARyK79q26ze+RY5Fv9aHhwe9ARzKAVrlWFKt2228Wkfttzje3f37n66z/177+s6y3l2/Npbn1eZ5tUm1Rts4+V55m11aIsUaXJdfjePd7a87vLOrbNdDy3rbt14ZS0ta9+3zW/HmL7O1ZjZnl5awhrPXtUbb8HmN0mZDma7CGk6Lr8a73Y+fvxDPrnYgMv7Z0BJvPtWNJTlG1jobWsIazCphnYjWTbR9Clfq2/SyZ11Ow9VTuJoOLJEdyxbHu5vvP7HOjjqW/ufSG5KxJMep1vUmWj49Y7SP/XQC6PX7vd7g7+Krcbyb3/zAO7vKNh305GxWGYgcS3KMrrW5maT1sLEUta6jxTJsv8Vx/G3+XdfZMcaSHKdaV+vN4+Kp/baN43++3eg6O8ZYkuNU61dGKfLmVRtRFGk8u1rkWPSXWoypYB0AoQoWa8UNpQOwVhRYKwp6tDo2VKvrhLT6YAsQAoQA2037nKxnDC/2SNrW6rsgBAjiWsfgZKocAa4PYyft8V0QDgDU9OTRka0+2MS15nBtcH1wZEpmwVd78rDWRqoSs+NqTx7W2kQyAwBrVYh0CnUfeZ4Efh8f7JxTqLtA0bpkpSsBAULsr7alULSTD1KusUgvsBqgo/V4WCsKrBUF1opCWWvAKKKgVSNBh7OVQigdgLWiwFpRYK0o6NFKfXcgIx8n6ZtXM3YHKnFSL7UAmFDBSsjFyYVBddRq5TL2sbBWFHgSQCEXJ/VLlhG7A1AXJ+kFVgOktB4Ja0WBtaLAWlEoa8WumZ8OBa0aCTqcrRRC6QCsFQXWigJrRUGPVt4dUAzvDuCFbF4FiwuD6uAyNgqsFQWeBFDg3QHl8O4ARVgrCqwVBdaKQlkrds38dCho1UjQ4WylEEoHYK0osFYUWCsK7Wqte2JPNRQ6jJ19JZvwzWvliT21oRBh7IDtpNUW6qUWSfLEntpQKOC7YLtNZUB6hcHXQtFO6hTMerJQ3QwAlLS6duGhIsIGm77WWqdASeseMyaByhN7akMhhG/CJav2iT3VUAhR3M6iusBqhKLWP4W1osBaUWCtKJS1YtfMT4eCVo0EHc5WCqF0ANaKAmtFgbWi0K5Wc3YHnNxNtnw8NtWbV3N2B0q1PtKlljzEdwdKWmkXBiW0dwcg9wGXD8amXsYG8rsDeZJQDdBq0u6AGf98xJTdAXlp9dNdLNKXLGN2B3ILwfzSheoCqxFCWo+GtaLAWlFgrSiUtWLXzE+HglYhhK6vQRCAgG60slaNdFlrkjvtw9mKRZe1dj1bI3809y5CNT/t/N7zbv2zA7Ris6+6195HI2tdOrfeRQhnwZU3v3KitP8suBoFy+SrfHNDZ8lsqUdDtuZ2B0pl7FayNZwkyXUWXI3uJ6Ms0Y7RKiJ/NJ+c685WSX2NElWrzKzEzvl9OhscpRWWzu0+8fVkKwBkf0JectpCtu7Hn9m5u5hPzo/VCvLXQyRba/ay2tVacPfHWus6ta0EZBk4Pb2ObE06J47h2eq7hX+f3HK2lufWtD+ceHNvFCzlBS3Tna4ZDJhbxy8+Vqj1lUDOTl63N/eSVu3x7u9K3wogtxKo0t66FeMToDNbX4bvsrDofk2A662KtWLXzE+HglZGLawVhf8BK7xBq58XM1IAAAAASUVORK5CYII=" alt="" />
此外,GROUP——CONCAT聚合函数还有一些其他的用法,其语法如下:

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

DISTINCT选项可以去除重复值,ORDER选择可以对列进行排序,SEPARATOR用于选择拼接的字符串。例如上述例子中,可以对b列进行去重并按递减的顺序排序,同时用“:”拼接字符串。其SQL语句可写为:

SELECT a,GROUP_CONCAT(DISTINCT b ORDER BY b DESC SEPARATOR ':')
FROM z
GROUP BY a;

运行结果如下图

aaarticlea/png;base64,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" alt="" />

MySQL的GROUP_CONCAT函数的更多相关文章

  1. MySQL中group_concat函数-和group by配合使用

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

  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函数

    mysql之group_concat函数 在介绍GROUP_CONCAT之前,我们先来看看concat()函数和concat_ws()函数. 先准备一个测试数据库: mysql> select ...

  5. 【转】mysql的group_concat函数,默认最大长度是1024

    mysql的group_concat函数,默认最大长度是1024 查询sql: show variables like 'group_concat_max_len'; 设置方式: 修改配置文件my.i ...

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

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

  7. mysql中group_concat函数用法

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

  8. 利用MySQL 的GROUP_CONCAT函数实现聚合乘法

    MySQL 聚合函数里面提供了加,平均数.最小,最大等,可是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张演示样例表: CREATE TABLE ` ...

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

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

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

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

随机推荐

  1. POI对Excel的操作

    1. 先导包 commons-io-2.6.jar包,用于对文件的操作. 下载地址:http://commons.apache.org/proper/commons-io/download_io.cg ...

  2. eclipse安装及配置pydev

    1.首先安装jre,这里记住jre的安装目录,32位操作系统默认安装在“C:\Program Files (x86)\Java\jre1.8.0_91” 2.配置eclipse,这里使用的是压缩包不需 ...

  3. MySQL 优化实战记录

    阅读本文大概需要 2 分钟. 背景 本次SQL优化是针对javaweb中的表格查询做的. 部分网络架构图 业务简单说明 N个机台将业务数据发送至服务器,服务器程序将数据入库至MySQL数据库.服务器中 ...

  4. 从零开始单排学设计模式「UML类图」定级赛

    阅读本文大概需要 3.5 分钟. 本篇是设计模式系列的开篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统. 所以现在打算重写,加上距离现在也有一段时间了, ...

  5. VMware虚拟机磁盘操作占用过高问题

    使用虚拟机运行Linux图形桌面时,经常因为一个网页或者编译某个程序就导致虚拟机卡死,甚至影响主机使用.明明主机内存有8G,分配给虚拟机的内存也不少,为什么就这么卡顿.打开主机上的任务管理器查看发现磁 ...

  6. MyBatis 的 XML 映射文件使用说明

    简介 文档参考地址:http://www.mybatis.org/mybatis-3/zh/index.html MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器 ...

  7. Spark基础-scala学习(一、入门)

    Scala解析器的使用 REPL:Read(取值)-> Evaluation(求值)-> Print(打印)->Loop(循环).scala解析器也被称为REPL,会快速编译scal ...

  8. PLSQL使用scott登录

    Oracle有3种用户: system.sys.scott,其中system和sys的区别在与能否创建数据库,sys用户登录才可以创建数据库,而scott是给初学者学习的用户,学习者可以用Scott登 ...

  9. idea 过段时间java程序包不存在问题 ?

    有时候我们在导入程序之后,系统会给出错误提示:Java:程序包xxxx不存在,现在我这里有一招,就是使用IDEA自动导入Java程序包,这也是IDEA的一大优点. 但是在看到这个问题的文章的时候,并不 ...

  10. HBuilder+eclipse开发:使用ajax异步传值生成首字母索引

    使用ajax异步传值生成首字母索引大致有以下几个步骤: 1.服务器端使用servlet提取出数据库里的数据; 2.使用首字母工具类对数据进处理得到首字母; 3.再将首字母和数据一一对应存入json数组 ...