Heim >Datenbank >MySQL-Tutorial >Kann SQL gruppierte Ergebnisse basierend auf der Zeilenanzahl filtern?
Filtern nach Gruppenanzahl
In SQL ist es möglich, Ergebnisse zu gruppieren und basierend auf der Anzahl der Zeilen innerhalb jeder Gruppe zu filtern. Dies kann mithilfe der HAVING-Klausel erreicht werden.
Beachten Sie die folgende Anforderung:
Problemstellung:
Ist es möglich, Ergebnisse zu gruppieren? und dann danach filtern, wie viele Zeilen sich in der Gruppe befinden? Zum Beispiel:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
Lösung:
Die HAVING-Klausel ermöglicht es uns, einen Filter auf eine Aggregatfunktion anzuwenden. In diesem Fall können wir nach der Aggregatfunktion COUNT(*) filtern, um Gruppen mit mehr als einer Zeile auszuwählen. Die korrekte Syntax lautet:
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
Diese Abfrage gibt alle eindeutigen Namen und die Anzahl der mit jedem Namen verknüpften Zeilen zurück, wobei die Anzahl größer als 1 ist.
Das obige ist der detaillierte Inhalt vonKann SQL gruppierte Ergebnisse basierend auf der Zeilenanzahl filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!