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
,以删除重复项+1GROUP\u CONCAT
早在v8之前就存在于MySQL中,谢谢您的回答。我在服务器的组中添加了一个DISTINCT
,以删除重复项+1.