mysql 两个分组合并_mysql分组合并GROUP_CONCAT-阿里云开发者社区
SELECT pid,
GROUP_CONCAT(field ORDER BY coder desc) 'msg'
from product_field
GROUP BY pid
分组加排序
group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。
比较抽象,难以理解。
通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函
数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。
group_concat函数应该是在内部执行了group by语句,这是我的猜测。
1.测试语句:SELECT group_concat(town) FROM `players` group by town
结果去查找town中去查找哪些值是一样的,如果相等,就全部列出来,以逗号分割进行列出,如下:
group_concat(town)
北京,北京
长沙
2.测试:SELECT group_concat( town )
FROM players
结果:
group_concat(town)
长沙,北京,北京,
上面是否可以证明,group_concat只有与group by语句同时使用才能产生效果? 下面进行了实际测验
3.测试常量对group_concat()的配置影响:
SET @@GROUP_CONCAT_MAX_LEN=4
手册中提到设置的语法是这样的:
SET [SESSION | GLOBAL] group_concat_max_len = val;
两种有什么区别?
SET @@global.GROUP_CONCAT_MAX_LEN=4;
global可以省略,那么就变成了:SET @@GROUP_CONCAT_MAX_LEN=4;
4.使用语句 SELECT group_concat(town) FROM `players`。结果得到:
group_concat(town)
长沙,北京,长沙,北京
结论:group_concat()函数需要与group by语句在一起使用,才能得到需要的效果。
原因可以这样理解:group_concat()得到是属于x组的所有成员(函数里面列参数指定需要显示哪些字段)。x组从哪里来?如
果没有group by进行指定,那么根本不知道group_concat()根据哪个分组进行显示出成员。 所以,像上面没有group by子句
的时候,就显示了长沙和北京。
实际中什么时候需要用到这个函数?
假如需要查询的结果是这样:左边显示组名,右边想显示该组别下的所有成员信息。用这个函数,就可以省去很多事情了。
另外,假如我这样使用:SELECT group_concat( name, sex ) FROM `players` town。意义不大。group_concat()指定一个
列是最好的情况。如果指定了多个列。那么显示结果类似这样:
group_concat(name,sex)
王滔,王小明男,刘惠女,舒明女
本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/p/6093465.html,如需转载请自行联系原作者。
mysql 两个分组合并_mysql分组合并GROUP_CONCAT-阿里云开发者社区相关推荐
- 线上阿里云mysql慢_MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析-阿里云开发者社区...
概述 insert慢是经常被问到的问题,笔者尝试在本文中对这个问题做一个分类梳理,列举的线上例子会做简化,希望对读者有所启发. 注意:因为阿里云MySQL线上实例还是以RDS 5.6为主体,本文的分析 ...
- 阿里 mysql中间件_MySQL中间件ProxySQL介绍 -阿里云开发者社区
ProxySQL作为一款强大的中间件为MySQL的架构提供了有力的支持. 目前可以很好的支持 Master Slave MGR PXC等,并提供连接池.读写分离.日志记录等功能,当然还有很多其他实用功 ...
- android 照片拼接长图_Android拼接合并图片生成长图-阿里云开发者社区
Android拼接合并图片生成长图 代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放. 假设根目录的Pict ...
- mysql的join算法_mysql的Join算法-阿里云开发者社区
实为吾之愚见,望诸君酌之!闻过则喜,与君共勉 测试数据 CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) N ...
- 阿里云mysql测试_MySQL主主测试-阿里云开发者社区
1.在两台主机上同时安装mysql,具体安装步骤 https://www.jianshu.com/p/7145991c9533 2.两台机器上都建立用户,并赋予复制权限: master1: mysql ...
- 阿里云 mysql日志分析_mysql 慢日志分析-阿里云开发者社区
启用 slow log 有两种启用方式: 1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-queri ...
- mysql权限create细化_mysql权限精细化分配-阿里云开发者社区
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant 权限 on 数据库对象 to 用户 ...
- 查询mysql数据库表占用空间大小_查看 MySQL 数据库中每个表占用的空间大小-阿里云开发者社区...
如果想知道MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE ...
- mysql providername_c#访问各数据库的providerName各驱动-阿里云开发者社区
如果为Mysql 数据库--->providerName="MySql.Data.MySqlClient"(没装mysql dotnet 安装版的话就得在C:\WINDOWS ...
- mysql my.cnf key_buffer_size_mysql5.6之key_buffer_size优化设置-阿里云开发者社区
key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度.通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_siz ...
最新文章
- python简单编程语言_功能强大而又简单易学的编程语言Python
- vue 2.0 :key的作用
- 新基建将引发全国用电量暴涨近两成,如何应对
- linux——管理系统存储之设备的识别、发现、挂载
- python:列表生成器
- CSS Grid布局(1)
- pmw调光c语言程序,51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序
- pyqt界面屏幕分辨率自适应_在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
- 微信已经老了,头条永远年轻
- linux异构内存,Linux内核添加异构内存管理(HMM)将带来加速GPU的新方式,还有可能带来其他类型的机器学习硬件。...
- 微信小程序-携带参数的二维码条形码生成
- C++ select模型聊天室初版
- 特征选择-相关系数法F检验
- SegNet算法详解
- VMware Esxi7.0.3f集成最新网卡-v2(2022年7月版)
- Go语言程序开发之ARM开发环境搭建
- Minecraft Mod 开发:2-Hello, Minecraft Mod World!
- 电子烟创业大军,都去卖酒了
- jquery插件手风琴效果
- CUDA计算能力显卡对照表
热门文章
- 《Java-SE-第二十四章》之线程间协作
- 【论文】【CwMed】Byzantine-Robust Distributed Learning: Towards Optimal Statistical Rates
- 查看计算机的硬盘的命令,如何用CMD命令检查电脑的硬盘
- 母函数+例题(hdu 2079+hdu 2082)
- 潘鹏整理WPF(10)日历控件CalendarDatePicker
- 如何为 Ubuntu 扩容(添加新的硬盘空间)?
- IDEA配置.gitignore
- Find My iPhone勒索手段重现 针对美欧用户
- OpsAny 自动化运维管理平台
- CentOS 7.5上安装 GitLab 最新版CE/EE