Heim >Datenbank >MySQL-Tutorial >Wie finde ich in MySQL übereinstimmende Spaltenwerte über mehrere Zeilen hinweg?
Identifiziert übereinstimmende Spaltenwerte in MySQL-Zeilen
MySQL bietet einen vielseitigen Mechanismus zum Abrufen von Daten aus Tabellen, einschließlich der Isolierung von Zeilen basierend auf gemeinsamen Spaltenwerten. In diesem Artikel wird erläutert, wie die Zeilen zurückgegeben werden, die in einer bestimmten Spalte denselben Wert haben.
Problemstellung:
Betrachten Sie die folgende Tabelle:
ID | Score |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
Die Aufgabe besteht darin, nur die Ergebnisse abzurufen, die den IDs 2 und 4 entsprechen, in diesem Fall 100.
Lösung:
MySQL bietet mehrere Möglichkeiten, diese Aufgabe zu erfüllen. Welche Methode am besten geeignet ist, hängt von den spezifischen Anforderungen ab.
Verwenden Sie die HAVING-Klausel für die Aggregation:
Für diese Situation bietet die Kombination von Aggregaten und HAVING-Klauseln eine elegante Lösung:
<code class="language-sql">SELECT score FROM t GROUP BY score HAVING SUM(id = 2) > 0 AND -- 包含id = 2 SUM(id = 4) > 0 -- 包含id = 4</code>
Diese Abfrage gruppiert Zeilen nach Score und zählt das Vorkommen von ID 2 und ID 4 in jedem Score. Die HAVING-Klausel stellt sicher, dass nur Scores zurückgegeben werden, die sowohl in ID 2 als auch in ID 4 vorhanden sind.
Das obige ist der detaillierte Inhalt vonWie finde ich in MySQL übereinstimmende Spaltenwerte über mehrere Zeilen hinweg?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!