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

Quickly solve the problem of slow startup after Tomcat reconfiguration

During the configuration of Jenkins+Tomcat server...

How to use Nexus to add jar packages to private servers

Why do we need to build a nexus private server? T...

How to change the tomcat port number in Linux

I have several tomcats here. If I use them at the...

JavaScript two pictures to understand the prototype chain

Table of contents 1. Prototype Relationship 2. Pr...

A brief discussion on the implementation principle of Webpack4 plugins

Table of contents Preface know Practice makes per...

Solve the problem that the time zone cannot be set in Linux environment

When changing the time zone under Linux, it is al...

Build a Docker image using Dockerfile

Table of contents Build a Docker image using Dock...

Python Flask WeChat applet login process and login api implementation code

1. Let’s take a look at the effect first Data ret...

Using HTML+CSS to track mouse movement

As users become more privacy-conscious and take m...

JavaScript knowledge: Constructors are also functions

Table of contents 1. Definition and call of const...

Detailed explanation of the use of Vue mixin

Table of contents Use of Vue mixin Data access in...

Detailed tutorial on installing Hbase 2.3.5 on Vmware + Ubuntu18.04

Preface The previous article installed Hadoop, an...