1
我正在保存Best-of-Two系列的數據。所以每場比賽都有2場比賽與相同的球隊相關聯。使用子查詢選擇一個計數MYSQL
所以這意味着每場比賽都有兩場比賽,桌上有每場比賽的記錄。
所以每1場比賽就有4條記錄(A隊的第1場比賽,A隊的第2場比賽,B隊的第1場比賽和B隊的第2場比賽)。比賽有3種可能的結果:2-0,1-1或0-2。
實施例:A隊起着3個匹配VS球隊B,C和d去(2-0,2-0和1-1) 我期望從選擇語句的結果是這樣的:
matchId | Team | Wins
1 | A | 2
1 | B | 0
2 | A | 2
2 | C | 0
3 | A | 1
3 | D | 1
實際數據:
matchId | gameId |teamName | Victory | Loss
2959 3635 Frost 0 1
2959 3490 Frost 1 0
2959 3490 SKT 0 1
2959 3635 SKT 1 0
2956 3487 Frost 0 1
2956 3573 Frost 0 1
2956 3573 Shield 1 0
2956 3487 Shield 1 0
2923 3452 SKT 1 0
2923 3507 SKT 1 0
2923 3507 IM1 0 1
2923 3452 IM1 0 1
所以用這個代碼,我在尋找:
matchId |teamName | Wins
2959 Frost 1
2959 SKT 1
2956 Frost 0
2956 Shield 2
2923 SKT 2
2923 IM1 0
這是我當前的代碼試圖弄明白:
SELECT DISTINCT b.matchId, c.teamName, d.Wins
FROM PoolOfTeams a JOIN (
SELECT t1.matchId, t1.gameId, t1.teamName FROM poolOfTeams t1
) b on (b.matchId = a.matchId) JOIN (
SELECT t2.gameId, t2.teamName FROM poolOfTeams t2
) c ON (c.gameId = b.gameId) JOIN (
SELECT t3.teamName, SUM(t3.matchVictory) AS Wins
FROM poolOfTeams t3 group by matchId
) d ON (d.teamName = c.teamName);
不應該'按'排序'在'group by'之後嗎?你需要「數(贏)」。 – Rahul
也許。我總是*總是*第一次搞砸訂單,不管我用了多少次。這就像是在100%的時間內插入USB電纜,它在任何時候都不起作用。 –
不起作用。我認爲大部分問題是每1場比賽有4條記錄。 2場比賽中的A隊和B隊的記錄以及2場比賽中A隊和B隊的更多記錄。因此,比賽可能會以2-0,1-1或0-2的比分進行。所以是的,我想讓它按matchId進行分組,但我也希望它能夠總結特定團隊在特定匹配中的勝利數量,即2,1或0. – TaylorM