mysql group_concat 实现把分组字段写成一行的方法示
本文实例讲述了mysql group_concat 实现把分组字段写成一行的方法。分享给大家供大家参考,具体如下: 功能 :将group by产生的同一个分组中的值连接起来,返回一个字符串结果。 函数语
本文实例讲述了mysql group_concat 实现把分组字段写成一行的方法。分享给大家供大家参考,具体如下:
功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
函数语法:
group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符'] )
示例
查询文章列表,将同一文章多个标签作为一个字段
标签表结构
CREATE TABLE book_tag
(
id
int(10) NOT NULL AUTO_INCREMENT,
tag_name
varchar(255) NOT NULL DEFAULT '0' COMMENT '标签名称',
tag_nums
int(10) NOT NULL DEFAULT '0' COMMENT '引用数量',
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
标签文章关系表
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 '标签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
结果
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。