Mysql 选择列值等于某个值的所有可能列值

Mysql 选择列值等于某个值的所有可能列值,mysql,Mysql,我有一张这样的桌子: +----+----------+------------+ | id | server | name | +----+----------+------------+ | 1 | server1 | PlayerOne | | 2 | server2 | PlayerOne | | 3 | server1 | PlayerTwo | | 4 | server1 | PlayerFour | +----+----------+-----

我有一张这样的桌子:

+----+----------+------------+
| id |  server  |    name    |
+----+----------+------------+
|  1 |  server1 | PlayerOne  |
|  2 |  server2 | PlayerOne  |
|  3 |  server1 | PlayerTwo  |
|  4 |  server1 | PlayerFour |
+----+----------+------------+
+-----------+------------------+
|   name    |     serverList   |
+-----------+------------------+
| PlayerOne | server1, server2 |
+-----------+------------------+
我的目标是选择具有以下内容的数据:

+----+----------+------------+
| id |  server  |    name    |
+----+----------+------------+
|  1 |  server1 | PlayerOne  |
|  2 |  server2 | PlayerOne  |
|  3 |  server1 | PlayerTwo  |
|  4 |  server1 | PlayerFour |
+----+----------+------------+
+-----------+------------------+
|   name    |     serverList   |
+-----------+------------------+
| PlayerOne | server1, server2 |
+-----------+------------------+
我试图
选择服务器,命名为结果
,但没有结果


感谢所有能帮助我的人。

如果您使用的是
mysql v8.0
,您可以使用
group\u concat()
函数

select name, group_concat(server, ',') as serverlist from tableA
group by name

如果您使用的是
mysql v8.0
,则可以使用
group\u concat()
函数

select name, group_concat(server, ',') as serverlist from tableA
group by name

为什么输出中只出现播放器1?这是一个错误。所有玩家都应该带着各自的服务器出现。谢谢。为什么输出中只显示播放器1?这是一个错误。所有玩家都应该带着各自的服务器出现。谢谢。
GROUP\u CONCAT
早在v8之前就存在于MySQL中。谢谢您的回答。我在服务器的
组中添加了一个
DISTINCT
,以删除重复项+1
GROUP\u CONCAT
早在v8之前就存在于MySQL中,谢谢您的回答。我在服务器的
组中添加了一个
DISTINCT
,以删除重复项+1.