MySQL的GROUP_CONCAT函数
先根据如下语句生成测试表并填充数据
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;
SELECT a, GROUP_CONCAT(b)
FROM z
GROUP BY a;
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,iVBORw0KGgoAAAANSUhEUgAAAVkAAABSCAIAAABxIDD7AAAJdElEQVR4nO2dzW7iyBqGv+vpC0DVvoTcAqu2I0u5hOyyaWkCRPIGZZv9KMTMSCyyzDqbAGGDdGZ6Zg5zjrLoTgIhIUQ1i7JNuX5sQzeYDO+jVxEU5a8+18+Lwdihn89/hSAIop/Pf+UAgJ2nfC94eHgoNwEAdhyxBuEFAOw62+IF9/f35SYAwI4j1iC8AIBdB14AAOB8e7zg27dv5SawfQwDh8jvlJ2GiWHgOMGw7CxW4f1mvn7EGizfC75+/WosHwYOxTjBMPWcUqOq1uTawIunqQiZS63j6xXNrcipyI2aIqQ3SGUjhx0GDvkd5fUoxqLQ76RjOEHHEND3F/WLZhvYEjN0bO6oqTsab5yzd8Z90hrWg3T8Ra1h4MibZGReMJmh0uFxMPNYq0G0OazvoLxxerTsk1+bhasg1mDkBa+v8+nzbPOaz9/+/t//9db7jY/ETvrR00HdO+nfnrCk5PaE0X5oqPmLR8Qag6lcWdRn6QjtfZIrKE3HwafPs9DbD7Na2ffYx/qt1IolQlxBqv+c2mq6CP6xfpsuvz1hRF5bqR/XFI+9X8wBk6erZKt1kbHQPGqmsUgGzrh3enDLoJtfZSf951noRR0VesQag0KZF0zG1OHW3jPWz95BeU5aBsvQD8ZJtYzEGnyavkReMHudP01f1qFencV+xmp99dX5/O2/o7/11l29cr/BWKMXPW27tB9GD9I1RbVUZWNhEkHRoMb0PDNbCffJa0sZGiNEXcHqg9AjVh9Y9uvlKdwn8dS4C6lyyy5kb1g4WzXOonDfZcYBLTIWcc75A5Qx6KZXlf3qN5ihsiXzgskYOtzee7kJZ+6gOlXs/WCeVMtIrMGnDXjBQsloaXnorVtmoTTwxgWT9FTe6PbqjPQmRE19geW1EnrkhvZZqMybJHlTcDG0pkYNqyj0iIjUXs0zkWLZ2r0gXkhqHxYZC+vAxTXlI2hlQSr9FiVD+jtN6BFjzA1XztySjN7hGb1nHKDMHZSy0qaKtR8sk2oZaV4we508Pa9FPWn/WaObfnX+9vbnXyO9dRbVvK2xeENjnF6DqTHbLnkXSrl4mpnJxBqwQCtJ/ORvVuS2S6zWMwfv1hir3ZoabbvkXRiTETPObZuzVZIsmG2Rrug1mEgpt5fyB840anmTR00ma1YslbklGb3DM+oUrJ/TOfFUsfWDbVItI7EGJ0/Pa/aCXoMlKZo6zuYFhtUiT+XFQGpdYJziufM+NQ/0Ps1vpVtjbk08NY9Kt5Z+SxALXusWqxfoS1rNMO6TAhvmZmsbr6wVldtLcv2CA2QedGOG9h7IzXyV2SKaK74C7WantWKYKpZ+sE6qZaR6wcvsdTyZ/nh16xVW706m48m0W2MUP040n799+eMvvfVUZRFECjW+8Ii8liFs6BJVav3xJHSJHXelaG4oJ5Ohbo0lwceTacv1WrZWUgFDl0jUMUXoHzNyL+JWLjx17ybaS1rwaPOkvFuvuKHez2pAuX7RbE1xjAOaJJAxFsaBM+6d3qJl0M2v2nogN/PiyWgdbu09Y/3sHYxkmirmfrBMqm69QtIgGh9LEmtwPJlGXvD8MnscP61DLTcyrYrrViq1m/Sr8/nb71/+NLZ+c7zwvMpx77Fbkze/OWZE7Lir1vzUiiN0a5XF9rUbUaIlYJQckNxQL4xaUQK2XIqfqhHUpsNPcfLWl+T85cpx0Na4d1zRKigB5frFs9XjjKXgSq/au87YS9HAtbL3Li5vWQddq++2xqYeKJJ5Tlcn5eYON/fe+OlRH6C8HbTOB2M/qNvKMyfuDdtjbQ0+jp/W7gXZyvCCndXNMUtPKQhaozQveJ49PE42r/l8/tvvf5TV+sPjxSdSYD/dlJKJrO5PFaJPF2WnAe2ExBp8eJxEXjB9frl/GG9er/P5f377UlbrEASJNXj/MI684BYAsNskv0EujdlsVmLrAACxBsu/NgnXKQJQLttynSK8AIBygRcAADiHFwAABPACAADnpXiB73D97itZXnAXOEdER0RH5FyJTTt+VJLcBEYv0en4p9JtaFaJAMC/lo16wTDgRJyW9YKB7w/Eo45/5AR3vHNOomR45dB5h3NDidr0lUNHRLEXrBABgH83Gz8uGHJnWS+QNg5OneCu4ydv3XeBcxoMuV4ijiac4E7aOnnJUN8UAYBd4l15gb5uo8d6SWEvyIgAwC7xjrwg+oCw+kqGFwBg5714QWIEfPUjfHxGAMDOe/AC7Wi/0Dd/WZ8R8N0hACplnEcgTsSVo/AML4hOAaROKxY4I5j2AjmIPzDVxzlFsNvgt0YAAM7hBQAAAbwAAMA5vAAAIEh5wTcAwA7DcVwAAIAXAAA4hxcAAATwAgAA5/ACAIBgg14w5E78A2QnMOdhIfl1MNHiUsVVfkHcOU9uZ4LfIAOQYoNe0Flcg+ATV64EzPOC1Ppc7cqizjk55764PAnXJgGgUM5nhMD5Hi9Y5b5GwyvHuRra6+OaZbDrlOEFpsuWC35GiC9SXO6+RpER8CXvjATALlGCF+gfEHjR7w7FHU2WXcnD4JTkq57p1HHgBQCk2bQXGI2AF/WCZe59agSfEQCwsOnzCLZFluUFyT3R7wLxfr7ifY34Yp3ju0MAFDbnBfJNjfTTilleIP2vFOkfJSx3X6NFKJxTBMAEfmsEAOAcXgAAEMALAACcwwsAAIKUF6z7rikAgG2Gb8txAXEIgsoSvACCIM7hBRAECcELIAji/P14wah9Vq1+vv4xu73XrF4etj+U3/sQtD3aqBf4yW+Q/eW8YHRwWP18zT+0Dy+rhwejqPxD+/CsPRJ/k8oZhXLMvWZVKYGg3dYGvUC6r5H5XibWLK+b4m38Q/vwrNk8i9/Sv8cLaNQ+qzb3yh8ACNoSlfMZwSeuXP+T5QXJe7hY0nvN6MPCd3kBHx0cLg4xIGjntWkvCBxOmhFke8Fi0cZL+vpztbn3vV7AE0+BIKjE44LinxF0L0gt+JW9wFgIQbuqcryg43PlJgHLeQHx0cFh8wDHBRD0w7Q5LxgGi2OBpY4L1O8LovLr5mW1etYeJd8sEufyGQd8XwBBy2ij5xGSmxrpdw4qfB5BWtKyR1xWq0J6yWXzWnlKHOcRIEjR+/itUfRu/wP3HL8vgKC03ocX4HeHELRuvRcvgCBovYIXQBDEueIF675rCgBgm9mK4wIAwDYALwAAcA4vAAAI4AUAAM7hBQAAAbwAAMA5vAAAIPgH26hSMxEBQpsAAAAASUVORK5CYII=" alt="" />
MySQL的GROUP_CONCAT函数的更多相关文章
- MySQL中group_concat函数-和group by配合使用
MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔 ...
- MySQL中group_concat函数深入理解
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . 一.MySQL中group_concat函数 完整的语法如下: gr ...
- MySQL中group_concat函数
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) .MySQL中group_concat函数完整的语法如下:group_c ...
- mysql之group_concat函数
mysql之group_concat函数 在介绍GROUP_CONCAT之前,我们先来看看concat()函数和concat_ws()函数. 先准备一个测试数据库: mysql> select ...
- 【转】mysql的group_concat函数,默认最大长度是1024
mysql的group_concat函数,默认最大长度是1024 查询sql: show variables like 'group_concat_max_len'; 设置方式: 修改配置文件my.i ...
- MySQL中group_concat函数 --- 很有用的一个用来查询出所有group by 分组后所有 同组内的 内容
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...
- mysql中group_concat函数用法
该函数返回带有来自一个组的连接的非NULL值的字符串结果.该函数是一个增强的Sybase SQL Anywhere支持的基本LIST()函数. 语法结构: GROUP_CONCAT([DISTINCT ...
- 利用MySQL 的GROUP_CONCAT函数实现聚合乘法
MySQL 聚合函数里面提供了加,平均数.最小,最大等,可是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张演示样例表: CREATE TABLE ` ...
- MYSQL中group_concat( )函数中参数的排序方法
使用mysql中的group_concat( )函数连接指定字段时,可以先对该字段进行排序. PS:是因为二刷mysql的51道题的第12题遇到的:查询和" 01 "号同学学习的课 ...
- 关于Mysql中GROUP_CONCAT函数返回值长度的坑
1.GROUP_CONCAT函数: 功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果. 语法:group_concat( [distinct] 要连接的字段 [order b ...
随机推荐
- python语言相关语法基础
numpy系列import numpya = numpy.array([[1,2], [3,4]])b = numpy.array([[5,6], [7,8]])a*b>>>arra ...
- Linux环境下Redis集群实践
环境:centos 7 一.编译及安装redis源码 源码地址:redis版本发布列表 cd redis-3.2.8 sudo make && make install 二.创建节点 ...
- 数据库 的几种链接 join
直接demo,懒的同学可以看看效果 两个表的数据 join和inner join一样 full join报错,可有大神知道原因?
- js监听全屏下的esc事件
window.onresize = function() { if (!checkFull()) { //触发esc事件,执行业务逻辑. } }; function checkFull() { var ...
- 日程管理Demo4中的bug
Demo4的github地址 模拟器有点慢之后贴图 https://git.oschina.net/annie_guo/study.git 在登陆注册界面中java的提示语言(Login.java) ...
- 【Spring】SpringMVC配置文件
SpringMVC中一般会引入三个配置文件applicationContext.xml.dispatcher-servlet.xml(SpringMVC-servlet.xml).web.xml 1. ...
- 使用rsync实现不同Linux服务器间目录同步
实现目标: A 服务器上 /opt/web 目录,与B服务器上 /opt/web目录实现同步.即:B主动与A进行同步. OS: Reaht AS4 A Server 192.168.1 ...
- vshost32-clr2.exe 已停止工作
软件中使用了DevComponents.DotNetBar2.dll MessageBoxEx.Show("ddd");运行到这句出现如上错误 解决:在项目属性里->调试: ...
- python计时器类
import time as t class MyTimer(): def __init__(self): self.unit = ['年', '月', '日', '时', '分', '秒'] sel ...
- Python之路【第四篇】Python基础2
一.格式化输出 按要求输出信息 name=input("name:") age=int(input("age:")) job=input("job:& ...