本文實(shí)例講述了mysql group_concat 實(shí)現(xiàn)把分組字段寫成一行的方法。分享給大家供大家參考,具體如下:
功能:將group by產(chǎn)生的同一個(gè)分組中的值連接起來,返回一個(gè)字符串結(jié)果。
函數(shù)語法:
group_concat( [DISTINCT] 要連接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符'] )
示例
查詢文章列表,將同一文章多個(gè)標(biāo)簽作為一個(gè)字段
標(biāo)簽表結(jié)構(gòu)
CREATE TABLE `book_tag` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`tag_name` varchar(255) NOT NULL DEFAULT '0' COMMENT '標(biāo)簽名稱',
`tag_nums` int(10) NOT NULL DEFAULT '0' COMMENT '引用數(shù)量',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
標(biāo)簽文章關(guān)系表
CREATE TABLE `book_tag_book` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`book_id` int(10) NOT NULL DEFAULT '0' COMMENT '書本id',
`tag_id` int(10) NOT NULL DEFAULT '0' COMMENT '標(biāo)簽ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查詢
SELECT
`b`.`id`,
`b`.`book_name`,
`b`.`book_flash`,
`b`.`introduction`,
GROUP_CONCAT(a.tag_name)
FROM
`book_book` `b`
LEFT JOIN `book_tag_book` `t` ON `t`.`book_id` = `b`.`id`
LEFT JOIN `book_tag` `a` ON `a`.`id` = `t`.`tag_id`
GROUP BY b.id
結(jié)果
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫計(jì)有所幫助。
您可能感興趣的文章:- MySQL的指定范圍隨機(jī)數(shù)函數(shù)rand()的使用技巧
- PHP和MySql中32位和64位的整形范圍是多少
- mysql中TINYINT的取值范圍
- MySQL單表查詢操作實(shí)例詳解【語法、約束、分組、聚合、過濾、排序等】
- 解決大于5.7版本mysql的分組報(bào)錯(cuò)Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
- MySQL group by對(duì)單字分組序和多字段分組的方法講解
- MySql Group By對(duì)多個(gè)字段進(jìn)行分組的實(shí)現(xiàn)方法
- mysql獲取分組后每組的最大值實(shí)例詳解
- mysql使用GROUP BY分組實(shí)現(xiàn)取前N條記錄的方法
- 詳解MySQL中的分組查詢與連接查詢語句
- mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
- 兩種方法實(shí)現(xiàn)mysql分組計(jì)數(shù),范圍匯總