mysql中GROUP_CONCAT的使用

mysql中GROUP_CONCAT的使用,第1张

概述现在有三个表,结构如下: cate表 CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ' 现在有三个表,结构如下:
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,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,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的使用全部内容,希望文章能够帮你解决mysql中GROUP_CONCAT的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1164699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存