Heim >Datenbank >MySQL-Tutorial >Wie rufe ich passende Spaltenwerte in MySQL mithilfe von Aggregation und HAVING ab?

Wie rufe ich passende Spaltenwerte in MySQL mithilfe von Aggregation und HAVING ab?

Susan Sarandon
Susan SarandonOriginal
2025-01-22 21:12:11773Durchsuche

How to Retrieve Matching Column Values in MySQL Using Aggregation and HAVING?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn