Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何为一个表选择多个值”;单元格“;MySQL_Mysql_Sql_Select - Fatal编程技术网

“如何为一个表选择多个值”;单元格“;MySQL

“如何为一个表选择多个值”;单元格“;MySQL,mysql,sql,select,Mysql,Sql,Select,对于所有球员,我需要找到球员编号以及他们曾经效力过的球队的编号列表 以下是“匹配项”表: 我能想到的最好办法是: SELECT DISTINCT playerno, teamno FROM matches ORDER BY playerno; 其结果是: +----------+--------+ | playerno | teamno | +----------+--------+ | 2 | 1 | | 6 | 1 | | 8

对于所有球员,我需要找到球员编号以及他们曾经效力过的球队的编号列表

以下是“匹配项”表:

我能想到的最好办法是:

SELECT DISTINCT playerno, teamno
FROM matches
ORDER BY playerno;
其结果是:

+----------+--------+
| playerno | teamno |
+----------+--------+
|        2 |      1 |
|        6 |      1 |
|        8 |      1 |
|        8 |      2 |
|       27 |      2 |
|       44 |      1 |
|       57 |      1 |
|       83 |      1 |
|      104 |      2 |
|      112 |      2 |
+----------+--------+
注意球员8是如何在两队比赛的。如何使表格仅显示玩家8的一行和组号列表(1和2)?

您可以使用聚合函数:

SELECT   playerno, GROUP_CONCAT(DISTINCT teamno)
FROM     matches
GROUP BY playerno
ORDER BY playerno;

你可以使用组_concat

SELECT playerno, group_concat( teamno)
FROM matches
GROUP BY playerno;
SELECT playerno, group_concat( teamno)
FROM matches
GROUP BY playerno;