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

One-click installation of MySQL 5.7 and password policy modification method

1. One-click installation of Mysql script [root@u...

Solution to occasional crash of positioning background service on Linux

Problem Description In the recent background serv...

Linux hardware configuration command example

Hardware View Commands system # uname -a # View k...

Bootstrap 3.0 study notes buttons and drop-down menus

The previous article was a simple review of the B...

Initial settings after installing Ubuntu 16 in the development environment

The office needs Ubuntu system as the Linux devel...

How to use partitioning to optimize MySQL data processing for billions of data

When MySQL queries tens of millions of data, most...

Example of adding attributes using style in html

Add inline styles to the required links: Copy code...

An example of how to implement an adaptive square using CSS

The traditional method is to write a square in a ...

Detailed tutorial on installing centos8 on VMware

CentOS official website address https://www.cento...

TypeScript Enumeration Type

Table of contents 1. Overview 2. Digital Enumerat...

Detailed explanation of MySql 5.7.17 free installation configuration tutorial

1. Download the mysql-5.7.17-winx64.zip installat...

SQL-based query statements

Table of contents 1. Basic SELECT statement 1. Qu...

Detailed explanation of the MySQL MVCC mechanism principle

Table of contents What is MVCC Mysql lock and tra...