Heim >Datenbank >MySQL-Tutorial >Wie rufe ich passende Spaltenwerte in MySQL mithilfe von Aggregation und HAVING ab?
Effizientes Abrufen passender Spaltenwerte in MySQL
Datenbankabfragen erfordern oft das Abrufen von Zeilen basierend auf bestimmten Spaltenwertübereinstimmungen. Diese Aufgabe wird komplexer, wenn es um große Tabellen geht. Dieses Beispiel zeigt eine effiziente Methode unter Verwendung der Aggregationsfunktionen von MySQL und der HAVING
-Klausel.
Betrachten wir eine Beispieltabelle:
<code>ID | Score ----- 1 | 95 2 | 100 3 | 88 4 | 100 5 | 73</code>
Das Ziel besteht darin, gemeinsame Werte für ID 2 und ID 4 zu finden. Das erwartete Ergebnis ist 100.
Die Aggregationsfunktionen von MySQL bieten eine elegante Lösung:
<code class="language-sql">SELECT score FROM t GROUP BY score HAVING SUM(id = 2) > 0 AND SUM(id = 4) > 0;</code>
Diese Abfrage gruppiert die Daten nach score
. Die HAVING
-Klausel verwendet dann Aggregatfunktionen, um zu prüfen, ob in jeder Gruppe sowohl ID 2 als auch ID 4 vorhanden sind. SUM(id = 2) > 0
zählt Vorkommen von ID 2 und SUM(id = 4) > 0
zählt Vorkommen von ID 4. Es werden nur Werte zurückgegeben, bei denen beide Zählwerte größer als Null sind. Dadurch wird sichergestellt, dass nur mit beiden IDs verknüpfte Ergebnisse in das Ergebnis einbezogen werden.
Das obige ist der detaillierte Inhalt vonWie rufe ich passende Spaltenwerte in MySQL mithilfe von Aggregation und HAVING ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!