濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > mysql中GROUP_CONCAT的使用方法實(shí)例分析

mysql中GROUP_CONCAT的使用方法實(shí)例分析

熱門標(biāo)簽:外呼系統(tǒng)電銷受騙 在哪里申請(qǐng)400電話 400電話申請(qǐng)信用卡 銷售語(yǔ)音電話機(jī)器人 安徽ai電話電銷機(jī)器人有效果嗎 常州網(wǎng)絡(luò)外呼系統(tǒng)開發(fā) 走過(guò)哪個(gè)省地圖標(biāo)注 巫師三血與酒地圖標(biāo)注 萊西市地圖標(biāo)注

本文實(shí)例講述了mysql中GROUP_CONCAT的使用方法。分享給大家供大家參考,具體如下:

現(xiàn)在有三個(gè)表,結(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表:

 

article表:

 

article_extend表:

 

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

SELECT
	a.id AS aid,
	a.title AS atitle,
	c. NAME AS cname,
	ae. NAME AS aname
FROM
	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ù):

 

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

只有通過(guò)GROUP_CONCAT來(lái)實(shí)現(xiàn)了:

SELECT
	a.id AS aid,
	a.title AS atitle,
	c. NAME AS cname,
	GROUP_CONCAT(ae. NAME SEPARATOR '-') AS aname
FROM
	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)在我們不想通過(guò)文章id一條一條的查,我們要取全部,但如果文章name有多個(gè)的要進(jìn)行合并,如何做?

SELECT
	a.id AS aid,
	a.title AS atitle,
	c. NAME AS cname,
	ae.allname
FROM
	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é)果如下:

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

您可能感興趣的文章:
  • python3 中的字符串(單引號(hào)、雙引號(hào)、三引號(hào))以及字符串與數(shù)字的運(yùn)算
  • 如何修改Mysql中g(shù)roup_concat的長(zhǎng)度限制
  • 在MySQL concat里面使用多個(gè)單引號(hào),三引號(hào)的問題

標(biāo)簽:果洛 煙臺(tái) 來(lái)賓 陽(yáng)江 河北 鞍山 黃石 赤峰

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql中GROUP_CONCAT的使用方法實(shí)例分析》,本文關(guān)鍵詞  mysql,中,GROUP,CONCAT,的,使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql中GROUP_CONCAT的使用方法實(shí)例分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mysql中GROUP_CONCAT的使用方法實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    安仁县| 兴和县| 泽库县| 闽侯县| 包头市| 海城市| 河源市| 敖汉旗| 北辰区| 益阳市| 门头沟区| 聂拉木县| 龙口市| 阿坝| 辉南县| 合阳县| 视频| 长丰县| 太仓市| 吉水县| 光山县| 邵东县| 嘉善县| 阳新县| 塔城市| 邢台市| 民和| 呼伦贝尔市| 南郑县| 寿光市| 屏东县| 崇义县| 桦甸市| 伊川县| 右玉县| 万源市| 万年县| 波密县| 扶余县| 多伦县| 南昌市|