千家信息网

怎么在mysql中使用GROUP_CONCAT方法

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关怎么在mysql中使用GROUP_CONCAT方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。结构如下:cate表:CR
千家信息网最后更新 2026年10月31日怎么在mysql中使用GROUP_CONCAT方法

这篇文章将为大家详细讲解有关怎么在mysql中使用GROUP_CONCAT方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

结构如下:

cate表:

CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `name` char(20) DEFAULT '' COMMENT '分类名', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='文章分类表';

article表:

CREATE TABLE `article` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `title` varchar(50) DEFAULT '', `cate_id` int(11) NOT NULL DEFAULT '0' COMMENT '分类id', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='文章表';

article_extend表:

CREATE TABLE `article_extend` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `article_id` int(10) unsigned DEFAULT '0' COMMENT '文章id', `name` varchar(255) DEFAULT '' COMMENT '音频,图片之类', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='附件表';

三张表数据如下:

cate表:

article表:

article_extend表:

问题来了,现在通过表连接查询,查询文章id为1的文章数据,并显示文章标题,文章分类,文章name。

SELECT        a.id AS aid,        a.title AS atitle,        c. NAME AS cname,        ae. NAME AS anameFROM        article AS aLEFT JOIN cate AS c ON a.cate_id = c.idLEFT JOIN article_extend AS ae ON a.id = ae.article_idWHERE        a.id = 1;

结果如下,出现了两条数据:

现在只想要一条结果,aname字段进行合并,如何做?

只有通过GROUP_CONCAT来实现了:

SELECT        a.id AS aid,        a.title AS atitle,        c. NAME AS cname,        GROUP_CONCAT(ae. NAME SEPARATOR '-') AS anameFROM        article AS aLEFT JOIN cate AS c ON a.cate_id = c.idLEFT JOIN article_extend AS ae ON a.id = ae.article_idWHERE        a.id = 1;

结果如下:

那么,现在我们不想通过文章id一条一条的查,我们要取全部,但如果文章name有多个的要进行合并,如何做?

SELECT        a.id AS aid,        a.title AS atitle,        c. NAME AS cname,        ae.allnameFROM        article AS aLEFT JOIN (        SELECT                ae.article_id,                GROUP_CONCAT(ae. NAME) AS allname        FROM                article_extend AS ae        GROUP BY                ae.article_id) AS ae ON a.id = ae.article_idLEFT JOIN cate AS c ON a.cate_id = c.id;

结果如下:

关于怎么在mysql中使用GROUP_CONCAT方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文章 结果 数据 c. 分类 方法 内容 更多 知识 篇文章 查询 不错 只有 图片 多个 字段 标题 类名 结构 质量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 湖北九亚互联网络科技有限公司 广州紫鲸互联网科技有限公司 深圳恒合互联网络科技有限公司 互联网电商科技 金诺互联网科技 互联网科技小贷 亿策互联网科技 广西互联网科技公司 中国航天科技大学国际工业互联网 知域互联网科技有限公司大骗子 互联网科技和信息 互联网公司黑科技创始人 深圳市罗太互联网科技有限公司 用友工业互联网科技发展 世界互联网领先科技成果获奖 无锡工业互联网科技有限公司 黑云互联网科技有限公司 皮皮虾互联网科技有限公司 普陀区互联网教育科技管理办法 什么是科技互联网 华服互联网科技靠谱吗 互联网科技行业发展 互联网教育科技公司vipkid 华夏恒生互联网科技013171 华夏恒生科技与互联网科技 产业互联网科技服务公司 领航科技大厦互联网公司 互联网科技博主张洲 互联网科技创业有什么好项目
0