Mehrzeilige MySQL-Suche mit gleichen Werten: vollständige Anleitung
In relationalen Datenbanken wie MySQL ist die Identifizierung von Zeilen und Spalten mit übereinstimmenden Spaltenwerten oft eine kritische Aufgabe. In diesem Artikel wird erläutert, wie Spalten zurückgegeben werden, die in einer bestimmten Spalte denselben Wert haben.
Beachten Sie die folgende Datentabelle:
ID | Score |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
Um alle Bewertungen abzurufen, die sowohl in ID 2 als auch in ID 4 erscheinen, besteht eine Möglichkeit darin, Aggregation und eine HAVING-Klausel zu verwenden:
<code class="language-sql">SELECT Score FROM t GROUP BY Score HAVING COUNT(CASE WHEN ID = 2 THEN 1 END) > 0 AND COUNT(CASE WHEN ID = 4 THEN 1 END) > 0;</code>
Diese Abfrage zählt die Zeilen ID 2 und ID 4 für jede eindeutige Bewertung. Geben Sie dann als gewünschtes Ergebnis den Bruch zurück, bei dem sowohl ID 2 als auch ID 4 Zählwerte größer als Null haben.
Anleitung:
GROUP BY Score
Aggregiert Zeilen nach Score-Spalte. HAVING COUNT(CASE WHEN ID = 2 THEN 1 END) > 0
Stellen Sie sicher, dass Sie nur Ergebnisse einbeziehen, bei denen ID 2 vorhanden ist. HAVING COUNT(CASE WHEN ID = 4 THEN 1 END) > 0
Filtern Sie die Ergebnisse weiter, um Ergebnisse einzuschließen, bei denen auch ID 4 vorhanden ist. Durch die Kombination dieser Bedingungen in der HAVING-Klausel identifiziert die Abfrage effektiv Scores, die sowohl in ID 2 als auch in ID 4 vorkommen. Diese Technik kann auf eine beliebige Anzahl von IDs oder Spalten erweitert werden und bietet eine allgemeine Lösung zum Finden passender Werte in MySQL.
Das obige ist der detaillierte Inhalt vonWie finde ich in MySQL identische Werte über mehrere Zeilen hinweg?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!