“如何为一个表选择多个值”;单元格“;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;