Filtern nach Anzahl: Verwendung von HAVING für die aggregierte Abfragefilterung
In SQL ist es möglich, Daten basierend auf der Anzahl der übereinstimmenden Zeilen zu filtern ein bestimmtes Kriterium. Um dies zu erreichen, können Sie die HAVING-Klausel in Verbindung mit Aggregatfunktionen wie COUNT(*) verwenden.
Frage:
Können Sie Ergebnisse gruppieren und nach der Zahl filtern? Anzahl der Zeilen innerhalb einer Gruppe? Zum Beispiel:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
Antwort:
Um basierend auf einer Aggregatfunktion wie COUNT(*) zu filtern, sollten Sie die HAVING-Klausel anstelle der WHERE-Klausel verwenden . Die HAVING-Klausel ist speziell zum Filtern von Datengruppen nach deren Aggregation konzipiert.
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
Diese Abfrage gruppiert die Zeilen in der Tabelle „mytable“ nach der Spalte „name“ und berechnet die Anzahl dafür jede Gruppe. Anschließend werden die Ergebnisse gefiltert, um nur die Gruppen einzubeziehen, deren Anzahl größer als 1 ist.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Abfrageergebnisse basierend auf der Zeilenanzahl innerhalb von Gruppen filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!