gpt4 book ai didi

sql - mySQL SELECT join、group by 或其他

转载 作者:行者123 更新时间:2023-11-29 06:23:04 25 4
gpt4 key购买 nike

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

我有一张 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com