久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么在mysql中使用GROUP

共計(jì) 1820 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

自動(dòng)寫代碼機(jī)器人,免費(fèi)開通

這篇文章將為大家詳細(xì)講解有關(guān)怎么在 mysql 中使用 GROUP_CONCAT 方法,文章內(nèi)容質(zhì)量較高,因此丸趣 TV 小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

結(jié)構(gòu)如下:

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= 附件表 

三張表數(shù)據(jù)如下:

cate 表:

怎么在 mysql 中使用 GROUP_CONCAT 方法 

article 表:

怎么在 mysql 中使用 GROUP_CONCAT 方法 

article_extend 表:

怎么在 mysql 中使用 GROUP_CONCAT 方法 

問題來了,現(xiàn)在通過表連接查詢,查詢文章 id 為 1 的文章數(shù)據(jù),并顯示文章標(biāo)題,文章分類,文章 name。

SELECT
 a.id AS aid,
 a.title AS atitle,
 c. NAME AS cname,
 ae. NAME AS aname
 article AS a
LEFT JOIN cate AS c ON a.cate_id = c.id
LEFT JOIN article_extend AS ae ON a.id = ae.article_id
WHERE
 a.id = 1;

結(jié)果如下,出現(xiàn)了兩條數(shù)據(jù):

怎么在 mysql 中使用 GROUP_CONCAT 方法 

現(xiàn)在只想要一條結(jié)果,aname 字段進(jìn)行合并,如何做?

只有通過 GROUP_CONCAT 來實(shí)現(xiàn)了:

SELECT
 a.id AS aid,
 a.title AS atitle,
 c. NAME AS cname,
 GROUP_CONCAT(ae. NAME SEPARATOR  -) AS aname
 article AS a
LEFT JOIN cate AS c ON a.cate_id = c.id
LEFT JOIN article_extend AS ae ON a.id = ae.article_id
WHERE
 a.id = 1;

結(jié)果如下:

怎么在 mysql 中使用 GROUP_CONCAT 方法

那么,現(xiàn)在我們不想通過文章 id 一條一條的查,我們要取全部,但如果文章 name 有多個(gè)的要進(jìn)行合并,如何做?

SELECT
 a.id AS aid,
 a.title AS atitle,
 c. NAME AS cname,
 ae.allname
 article AS a
LEFT 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_id
LEFT JOIN cate AS c ON a.cate_id = c.id;

結(jié)果如下:

怎么在 mysql 中使用 GROUP_CONCAT 方法

關(guān)于怎么在 mysql 中使用 GROUP_CONCAT 方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向 AI 問一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計(jì)1820字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 交口县| 太仆寺旗| 安阳市| 博客| 双江| 鄂托克前旗| 应城市| 阿拉尔市| 自贡市| 绥中县| 博爱县| 榆林市| 岳普湖县| 抚松县| 仁怀市| 潞西市| 汉阴县| 库尔勒市| 商南县| 缙云县| 新密市| 盘山县| 兴义市| 平南县| 泰兴市| 富裕县| 修武县| 北川| 清水县| 鄂温| 宁南县| 丽江市| 高尔夫| 阿拉善盟| 桐柏县| 德保县| 贞丰县| 临颍县| 安吉县| 叶城县| 西华县|