mysql groupby 拼接_mysql groupby 字段合并问题(group_concat)

在我们的日常mysql查询中,我们可能会遇到这样的情况:

对表中的所有记录进行分类,并且我需要得到每个分类中某个字段的全部成员。

上面的话,大家看起来可能不太好懂,下面举一个例子来给大家说明。

现在我们有一张表,结构如下:

d0a31b98c5e652a7410a839dd3a38067.png

现在我们向这张表中插入一些数据。

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)

现在我们可以看到,数据表的情况如下:

c36c6b38988e86b5ff8f18f5c54706b7.png

我的需要是这样的:我需要对type_id进行分组,而且每个分组下的所有name我都要得到,这个是后应该怎么办呢?

这样写:select type_id,name from test_group_concat GROUP BY type_id

我们得到的结果是这样的:

6c3534917907e551af14b4c366bfc876.png

上面每个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

结果如下:

59d828e18cbf74dd8e2ac2fdf110602e.png

很显然,没有达到我们的预期,怎么办!!!

mysql中给我们提供了一个函数:group_concat,利用这个函数,我们就能够很好的解决上述问题。我们试一下。

select type_id,group_concat(name) as names from test_group_concat GROUP BY type_id

结果如下:

558053cccd878502b84879d03594106d.png

上述结果,很好的满足了我们的需求。

那有朋友就会问了,如果我不仅想知道分类某个字段的全部信息,我还想要某两个字段连接在一起的所有信息,我们可以这么去写。

select type_id,group_concat(id,',',name) as names from test_group_concat GROUP BY type_id

d7f06adff46a09c75949dbdfcd558081.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 基础教程 西泽 好吗_Mysql基础教程

往期推荐SQL语句分类DDL:数据定义语言,用来定义数据库对象:库、表、列等DML:数据操作语言,用来定义数据库记录(数据)DCL:数据控制语言,用来定义访问权限和安全级别;DQL:数…

mysql 字符集测试_关于字符集的测试报告_MySQL

nls_lang用于设置客户端的字符集。影响sqlplus界面的语言。regedit:hkey_local_machine/software/oracle/home0nls_lang键值1、取值为‘US7ASCII或为空2、取值为‘simplified chinese_china.ZHS16GBKnls_characterset用于设置数据库内部字符集,决定数据记录保存的格…

mysql数学函数名_MYSQL 常见数学函数说明

摘要:下文讲述MySQL常见数学函数的说明,如下所示:mysql > select round(2.34);-------------| round(2.34) |-------------| 2 |-------------1 row in set (0.00 sec)mysql > select round(2.34,1);---------------| round(2.34,1) |---------------| 2.3 |-…

mysql聚集索引 myisam_一句话说清聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/21aspnet/article/details/89303988聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM经常遇到有人向我咨询这个问题,其实呢,网上帖子很多,也…

mysql for loop_MySQL循环语句 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

mysql常见的三种循环方式:while、repeat和loop循环。还有一种goto,不推荐使用。1.while循环-- 设置mysql分隔符为//,也就意味着,当遇到下一个//时,整体执行SQL语句DELIMITER //DROP PROCEDURE if EXISTS ‘test’; # 如…

mysql的存储过程放在哪里_mysql存储过程求解,错误在哪里?

DELIMITER $$ALTER PROCEDURE sp_test(vdnId CHAR(2),startTimeStr CHAR(8))BEGINDECLARE v_startTime DATETIME;DECLARE v_endTime DATETIME;DECLARE v_VDNName CHAR(2);DECLARE v_sql VARCHAR(1000);/*判断输入参数的合法性*/SELECT t.VDN_name INTO v_VDNName FROM gdmdw.t_…

ue4插件导入导出_Blender到UE4的无缝衔接

Hello . 大家好本文给大家介绍一下Send To Unreal插件我是Vee1简介Send To Unreal是Epic官方开发的用于Blender和UE4快速同步的插件,支持静态物体、骨骼物体、动画等等。省去了Blender导出-选择目录文件-UE4导入这个中间步骤,效率提升不是一般得多。插件…

mysql数据库管理系统模式_MYSQL命令行模式管理MySql的一点心得

MYSQL命令行模式管理MySql的一点心得MYSQL命令行模式管理MySql的一点心得MySql数据库是中小型网站后台数据库的首选,因为它对非商业应用是免费的.网站开发者可以搭建一个"LinuxApachePHPMySql"平台,这是一个最省钱的高效平台.在使用MySql进行开发时,MySql自带的文档对…

mysql点击计数器_MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能...

MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能Clicks: 5338 Date: 2014-03-29 23:30:42 Power By 李轩LaneTagMysql计数器高性能现在有很多的项目,对计数器的实现甚是随意,比如在实现网站文章点击数的时候&#xff…

python 微服务架构_微服务架构(Python)

在后端开发方面,Java的使用呢要远比Python广泛,所以Java的微服务框架非常流行,但Python的微服务框架却很少有人问津。在大多数需要微服务的场合下直接用Java的各种工具就可以解决问题,但如果业务代码使用Python写的,那…

opencv imread后做resizie_opencv第1课-加载、修改、保存图像

(非原创,看课程自己做的笔记,防丢失放到个人空间的)第1课-加载、修改、保存图像加载图像(cv::imread)修改图像(cv::cvtColor)保存图像(cv::imwrite)代码演示1…

php suse 安装mysql_SUSE Linux apache,Mysql,php,svn的安装

一 、安装apache1. tar -zxvf httpd-2.2.17.tar.gz2. cd httpd-2.2.173. sudo ./configure --prefix/space/soft/apache2 --enable-so --enable-dav --enable-dav-fs --enable-maintainer-mode --with-included-apr --enable-rewrite --enable-ssl --enable-proxy --enable-pro…

vue修改入口文件名字_webpack打包vue项目,可修改配置文件

问题:vue项目打包完成后,如需改变配置文件中的信息,比如域名修改(如下图config.js),是不可能在配置文件中直接更改的,因为配置文件是前端写死的,这时只能手动更改项目中的配置,然后重新打包npm …

java 旋转图片_Java实现图片翻转以及任意角度旋转

最近几天在做一个项目,因为涉及到了图片(绝大部分都不是整图,是把一张张的大图切成小图,也就是Title)的翻转以及90旋转,弄得焦头烂额。在网上搜索好几天,发现用到的方法都是比较公式化的,对于只是在绘图的时…

java核心api_Java核心API需要掌握的程度..你做到了多少??

评论19 楼lovelh2010-09-10编程思想啊。。。。。。18 楼xiang.beyond2010-09-08A_Jane 写道把API烂熟于心又如何?难道一辈子去做程序员?关键需要掌握的还是处理事情的方法。API可以去查,编程的思想怎么去查?说得好 但话说回来这些…

java 排序api_用java api进行sort

Sun授权刊登本节中所描述的多态算法 (polymorphic algorithms)是由 JDK 所提供的可重复使用的功能性片段。它们均取自Collections类,并都采用静态方法(它的第一个参数是执行操作的 对象集)的形式。由Java平台所提供的绝大多数算法都操作于List对象,但有两…

java判断正整数正则_Java正则验证正整数的方法分析【测试可用】

本文实例讲述了Java正则验证正整数的方法。分享给大家供大家参考,具体如下:package des;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Num {/*** param args*/public static void main(String[] args) {// TODO Auto-ge…

java上溯造型_think-in-java/6.7 上溯造型.md at master · quanke/think-in-java · GitHub

6.7 上溯造型继承最值得注意的地方就是它没有为新类提供方法。继承是对新类和基础类之间的关系的一种表达。可这样总结该关系:“新类属于现有类的一种类型”。这种表达并不仅仅是对继承的一种形象化解释,继承是直接由语言提供支持的。作为一个例子&#…

java 官网下载jdk源码_openJDK之如何下载各个版本的openJDK源码

如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢?现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢?1.openJDK的项目图1 可以看到有openJDK6、openJDK7、…

java 这么获取农历_用JAVA查询中国农历年

用来查询农历年的代码,可能比较粗糙,希望不要太打击偶,哈哈。一,Console.java[用来获取控制台的输入]/*#()Console.java 20:40:25 2/2/2006控制台消息输入/输出。*/import java.io.*;import java.text.SimpleDateFormat;import ja…