Heim >Datenbank >MySQL-Tutorial >Kann SQL gruppierte Ergebnisse basierend auf der Zeilenanzahl filtern?

Kann SQL gruppierte Ergebnisse basierend auf der Zeilenanzahl filtern?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-30 16:13:17963Durchsuche

Can SQL Filter Grouped Results Based on Row Count?

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!

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