sql - mySQL SELECT join、group by 或其他

标签 sql mysql inner-join

我无法走上正轨,任何帮助将不胜感激

我有一张 table

+---+----------+---------+-----------+
|id | match_id | team_id | player_id |
+---+----------+---------+-----------+
| 1 |        9 |      10 |         5 |
| 2 |        9 |      10 |         7 |
| 3 |        9 |      10 |         9 |
| 4 |        9 |      11 |        12 |
| 5 |        9 |      11 |        15 |
| 6 |        9 |      11 |        18 |
+---+----------+---------+-----------+

我想通过 match_id 和两个团队 ID 上的位置来选择这些,以便输出为

+---------+-------+------+---------+---------+
| MATCHID | TEAMA | TEAMB| PLAYERA | PLAYERB |
+---------+-------+------+---------+---------+    
|       9 |    10 |   11 |       5 |      12 |
|       9 |    10 |   11 |       7 |      15 |
|       9 |    10 |   11 |       9 |      18 |
+---------+-------+------+---------+---------+

这可能很简单,但我被困住了..

提前致谢

附注似乎忘记了我第一篇文章的专栏,抱歉

最佳答案

我认为你需要:

SELECT
    a.match_id, a.team_id AS TeamA, b.team_id AS teamB, 
    a.player_id AS PlayerA, b.player_id AS PlayerB
FROM PLayer AS a
    INNER JOIN Player AS b ON a.match_id = b.match_id
WHERE a.team_id < b.team_id

虽然这会给你每场比赛的每一对球员,即

+---------+-------+------+---------+---------+
| MATCHID | TEAMA | TEAMB| PLAYERA | PLAYERB |
+---------+-------+------+---------+---------+    
|       9 |    10 |   11 |       5 |      12 | 
|       9 |    10 |   11 |       5 |      15 |
|       9 |    10 |   11 |       5 |      18 |
|       9 |    10 |   11 |       7 |      12 |
|       9 |    10 |   11 |       7 |      15 |
|       9 |    10 |   11 |       7 |      18 |
|       9 |    10 |   11 |       9 |      12 |
|       9 |    10 |   11 |       9 |      15 |
|       9 |    10 |   11 |       9 |      18 |
+---------+-------+------+---------+---------+

为了进一步限制它,您需要一个标准来确定玩家应该配对。

关于sql - mySQL SELECT join、group by 或其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1893525/

相关文章:

SQL 服务器 : join results in too many rows

php - DateTime::createFromFormat - 找不到两位数秒

join - BigQuery - 内部联接每个结果大小

mysql 连接两个索引需要很长时间!

mysql - 索引不与 innodb 一起运行

SQL - 没有规范就无法编译 <package> 的主体

mysql - SQL 创建表命令不起作用

javascript - JavaScript 中函数的 return 语句中的循环

php - MySQL - 根据特定条件选择总金额

mysql - mysql从多个表中获取数据,逗号分隔