Ich habe eine Match-Tabelle mit allen Geschichte Spielen in einer Fußball-Division gespielt. Es geht um 30000 Spiele und meine Herausforderung ist es, die Gewinne, Draw und Loses für ein bestimmtes Team im Vergleich zu den anderen zu gewinnen.Wie kann ich die Ergebnisse von zwei Abfragen basierend auf der Group BY-Spalte zusammenfassen?
Für meine Frage werde ich nur verwenden die zieht, um meine zieht Ich habe 2 mögliche Szenarien abrufen:
Das Team ist der Heimmannschaft
Das Team der weg ist
Team
So und nach meinen Daten der Abfrage für das erste Szenario, in dem mein Team die Heimmannschaft ist wie folgt:
SELECT
matches.away_team as VS,
COUNT(matches.idmatch) AS TIES
FROM
my_football_database.matches
WHERE
home_team = 14
AND home_team_goals = away_team_goals
AND aet = "N" AND PK = "N"
GROUP BY
away_team
LIMIT 5;
Ausgang:
+------+------+
| VS | TIES |
+------+------+
| 2 | 1 |
| 3 | 3 |
| 4 | 2 |
| 8 | 1 |
| 9 | 3 |
+------+------+
Das zweite Szenario ist, wenn mein Team die Mannschaft ist, so geht es wie folgt aus:
SELECT
matches.home_team as VS,
COUNT(matches.idmatch) AS TIES
FROM
my_football_database.matches
WHERE
away_team = 14
AND home_team_goals = away_team_goals
AND aet = "N" AND PK = "N"
GROUP BY
home_team
LIMIT 5;
Ausgang:
+------+------+
| VS | TIES |
+------+------+
| 2 | 4 |
| 3 | 2 |
| 7 | 1 |
| 8 | 3 |
| 9 | 1 |
+------+------+
Wie Sie können als Beispiel sehen:
- wenn mein Team (ID = 14) wurde als Heimmannschaft vs Team ID = 3, insgesamt 3 Partien endeten als Verbindungs
- In der zweiten Folge zu spielen, wenn mein Team (ID = 14) war als die Auswärtsteam vs Team ID = 3, insgesamt 2 Spiele endete als eine Krawatte
Wie kann ich das Ergebnis der TIES, basierend auf den "VS" Ids summieren? Wenn Sie zum Beispiel alle Ties für ein Team, das als Heimmannschaft spielt, nach dem Auswärtsteam gruppiert und alle Ties für ein Team aufteilen, das als Auswärtsmannschaft spielt, gruppiert nach dem Heimteam, verbinden Sie beide Spalten basierend auf der "Vs" ID.
Das Ergebnis Beispiel in diesem Fall wäre:
+------+------+
| VS | TIES |
+------+------+
| 2 | 5 |
| 3 | 5 |
| 4 | 2 |
| 7 | 1 |
| 8 | 4 |
| 9 | 4 |
+------+------+
HINWEIS: Ich habe bis zu dem Punkt zu erhalten, die eine einzelne Abfrage, mich mit allen Wins eine Tabelle geben kann, ein Verliert und Unentschieden für gegebenes Team, gruppiert nach der Mannschaft, gegen die sie gespielt haben.
Das sind 14 Gesamtszenarien. Heim- und Auswärts-Unentschieden (2), Heim- und Auswärts-Unentschieden gewinnt regelmäßig, vergeben und im Elfmeterschießen (6). Heim und Auswärts verliert regelmäßig, vergeben und im Elfmeterschießen (6).
Daher bin ich nicht auf der Suche nach einem Stück Code, der die Unentschieden lösen kann, sondern eher wie ein Tipp auf, was für dieses Problem zu studieren, zu erforschen oder zu implementieren. Meine erste Idee wäre, jedes Szenario separat zu erstellen und sie dann als Unterabfragen zu verwenden, aber mir wurde gesagt, dass dies für die Leistung nicht geeignet ist.
kann ich nicht Ihre Beschreibung verstehen. Können Sie eine Probe der gewünschten Ergebnisse zeigen? – Barmar
Ich habe gerade eine hinzugefügt und versucht, besser zu erklären. Vielen Dank! –