mysql group_concat method example to write group fields into one row

mysql group_concat method example to write group fields into one row

This article uses an example to describe how to use MySQL group_concat to write grouped fields into one row. Share with you for your reference, the details are as follows:

Function : Connect the values ​​in the same group generated by group by and return a string result.

Function syntax :

group_concat( [DISTINCT] Fields to be connected [Order BY Sorting fields ASC/DESC] [Separator 'Separator'] )

Example

Query the article list and use multiple tags of the same article as one field

Tag table structure

CREATE TABLE `book_tag` (
 `id` int(10) NOT NULL AUTO_INCREMENT,
 `tag_name` varchar(255) NOT NULL DEFAULT '0' COMMENT 'Tag name',
 `tag_nums` int(10) NOT NULL DEFAULT '0' COMMENT 'Number of references',
 PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

Tag article relationship table

CREATE TABLE `book_tag_book` (
 `id` int(10) NOT NULL AUTO_INCREMENT,
 `book_id` int(10) NOT NULL DEFAULT '0' COMMENT 'Book id',
 `tag_id` int(10) NOT NULL DEFAULT '0' COMMENT 'Tag ID',
 PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query

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

result

Readers who are interested in more MySQL-related content can check out the following topics on this site: "MySQL query skills", "MySQL common functions summary", "MySQL log operation skills", "MySQL transaction operation skills summary", "MySQL stored procedure skills" and "MySQL database lock related skills summary"

I hope this article will be helpful to everyone's MySQL database design.

You may also be interested in:
  • MySQL merges multiple rows of data based on the group_concat() function
  • MySql Group By implements grouping of multiple fields
  • mysql group by grouping multiple fields
  • How to merge and display multiple data of a field after grouping in MySQL

<<:  Implementation of MySQL multi-version concurrency control MVCC

>>:  Centos7 installation of FFmpeg audio/video tool simple document

Recommend

MySQL 5.7.11 zip installation and configuration method graphic tutorial

1. Download the MySQL 5.7.11 zip installation pac...

Is mysql a relational database?

MySQL is a relational database management system....

JavaScript realizes the drag effect of modal box

Here is a case of modal box dragging. The functio...

JavaScript to implement click to switch verification code and verification

This article shares the specific code of JavaScri...

MySQL master-slave principle and configuration details

MySQL master-slave configuration and principle, f...

WeChat applet learning notes: page configuration and routing

I have been studying and reviewing the developmen...

Learning to build React scaffolding

1. Complexity of front-end engineering If we are ...

Data URI and MHTML complete solution for all browsers

Data URI Data URI is a scheme defined by RFC 2397...

Method of building redis cluster based on docker

Download the redis image docker pull yyyyttttwwww...

A brief analysis of how MySQL implements transaction isolation

Table of contents 1. Introduction 2. RC and RR is...

Detailed explanation of js event delegation

1. Each function is an object and occupies memory...

The corresponding attributes and usage of XHTML tags in CSS

When I first started designing web pages using XH...

How to solve mysql error 10061

This article shares with you the solution to the ...