使用MySQL将不同行的列表返回到单个字段中

为此,请使用GROUP_CONCAT()。让我们首先创建一个表-

create table DemoTable2024
   -> (
   -> SubjectName varchar(20),
   -> StudentName varchar(20)
   -> );

使用插入命令在表中插入一些记录-

insert into DemoTable2024 values('MySQL','Chris');

insert into DemoTable2024 values('MySQL','David');

insert into DemoTable2024 values('MongoDB','Bob');

insert into DemoTable2024 values('Java','Sam');

insert into DemoTable2024 values('MongoDB','Mike');

使用select语句显示表中的所有记录-

select *from DemoTable2024;

这将产生以下输出-

+-------------+-------------+
| SubjectName | StudentName |
+-------------+-------------+
| MySQL       | Chris       |
| MySQL       | David       |
| MongoDB     | Bob         |
| Java        | Sam         |
| MongoDB     | Mike        |
+-------------+-------------+
5 rows in set (0.00 sec)

以下是将不同行中的列表返回到单个字段中的查询-

select SubjectName,group_concat(StudentName)
   -> from DemoTable2024
   -> group by SubjectName;

这将产生以下输出-

+-------------+---------------------------+
| SubjectName | group_concat(StudentName) |
+-------------+---------------------------+
| Java        | Sam                       |
| MongoDB     | Bob,Mike                  |
| MySQL       | Chris,David               |
+-------------+---------------------------+
3 rows in set (0.06 sec)