mysql groupby 字段合并问题(group_concat)详解数据库
在我们的日常mysql查询中,我们可能会遇到这样的情况:
对表中的所有记录进行分类,并且我需要得到每个分类中某个字段的全部成员。
上面的话,大家看起来可能不太好懂,下面举一个例子来给大家说明。
现在我们有一张表,结构如下:
现在我们向这张表中插入一些数据。
insert into test_group_concat values(default,1, ppaa ,1594802453,0),(default,1, llcc ,1594802453,0),(default,2, uupp ,1594802453,0),(default,2, ttww ,1594802453,0)
现在我们可以看到,数据表的情况如下:
我的需要是这样的:我需要对type_id进行分组,而且每个分组下的所有name我都要得到,这个是后应该怎么办呢?
这样写:select type_id,name from test_group_concat GROUP BY type_id
我们得到的结果是这样的:
上面每个type_id对应只有一个name,这显然不符合我们的需求,我们的需求是需要找出type_id = 1 这个分类下所有的name,和type_id = 2的所有的name。
怎么办呢?
有朋友会想到,“用concat就可以解决问题了嘛!”,好的,我们现在试一下。
select type_id,concat(name) as names from test_group_concat GROUP BY type_id
结果如下:
很显然,没有达到我们的预期,怎么办!!!
mysql中给我们提供了一个函数:group_concat,利用这个函数,我们就能够很好的解决上述问题。我们试一下。
select type_id,group_concat(name) as names from test_group_concat GROUP BY type_id
结果如下:
上述结果,很好的满足了我们的需求。
那有朋友就会问了,如果我不仅想知道分类某个字段的全部信息,我还想要某两个字段连接在一起的所有信息,我们可以这么去写。
select type_id,group_concat(id, , ,name) as names from test_group_concat GROUP BY type_id
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3827.html
mysql相关文章
- stimulsoft mysql_【Stimulsoft Reports Java教程】在运行时使用MySQL数据库创建报表
- 数据库char转int_mysql string转int
- 解决MYSQL命令行解决乱码问题(mysql乱码命令行)
- 如何修改MySQL数据库中的触发器(修改mysql触发器)
- 【MySQL分区表:优化快捷创建】(mysql分区表创建)
- MySQL 监控:轻松掌握数据库状态(mysql监控软件)
- MySQL数据库操作:攻克技术之路(操作mysql数据库)
- MySQL数据库查询性能优化实战(mysql大数据查询优化)
- 转换MySQL命令行实现编码转换(mysql命令行编码)
- MySQL数据库窗口:轻松操作界面(mysql打开界面)
- MySQL代码安装:快速轻松获得一流的服务(mysql代码下载)
- 机制MySQL数据库的加锁机制解读(mysql数据库加锁)
- 如何实现MySQL数据库自动执行?(mysql数据库自动执行)
- MySQL数据库中的触发器详解(mysql有触发器)
- 安装MySQL安装指南:上周一超轻松(mysql上周一)
- MySQL 数据库和实例:深入探究!(mysql数据库和实例)
- MySQL查询结果行数的统计方法(mysql查询结果行数)
- 使用Java监听MySQL数据库变化(java监听mysql)
- MySQL教程:如何在数据库中增加新用户(mysql增加新用户)
- MySQL数据库中时间字段处理研究(mysql数据库时间字段)
- Mysql数据库导出实现方式探究(如何导出mysql数据库)
- 轻松转换:从Oracle到MySQL的简易工具(oracle转mysql工具)
- MySQL索引数据快速检索的重要工具(mysql中什么叫做索引)
- C程序与MySQL处理日期的实现(c mysql 日期)
- 使用CMD窗口连接MySQL数据库(cmd窗口连接mysql)
- 深入了解MySQL三种驱动,提升数据库操作效率(mysql三种驱动)
- MySQL与SMTP 数据库与邮件服务器的完美结合(mysql_smtp)
- 提升MySQL数据库效率的技巧(mysql =x效率)
- MySQL 不可重复读案例实测找不同游戏的坑点(mysql不可重复读案例)
- MySQL 数据库空值与重复数据的限制(mysql不允许空重复)
- MySQL不兼容JDBC协议,无法直接连接数据库(mysql不支持jdbc)