Gruppieren und Filtern nach Anzahl
Es ist möglich, Ergebnisse durch Zählen von Zeilen in Gruppen zu aggregieren und die Ergebnisse dann basierend auf der Anzahl zu filtern. Sie können dies mithilfe der HAVING-Klausel erreichen, mit der Sie eine Filterbedingung auf eine Aggregatfunktion anwenden können.
Verwendung:
Die folgende Abfrage zeigt, wie HAVING verwendet wird So filtern Sie Ergebnisse nach Anzahl:
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
In dieser Abfrage gruppieren wir zunächst die Zeilen in der „mytable“ nach der Spalte „name“. Die Aggregatfunktion COUNT(*) zählt die Anzahl der Zeilen in jeder Gruppe. Anschließend filtert die HAVING-Klausel die Ergebnisse, um nur Gruppen mit einer Anzahl größer als 1 einzuschließen.
Beispiel:
Beachten Sie die folgende Tabelle:
name |
---|
John |
Mary |
John |
Jane |
Jane |
Mark |
Die obige Abfrage gibt das folgende Ergebnis zurück:
name | COUNT(*) |
---|---|
John | 2 |
Jane | 2 |
Wie Sie sehen können, ist nur der „John“ und „Jane“-Gruppen werden zurückgegeben, da ihre Anzahl größer als 1 ist.
Das obige ist der detaillierte Inhalt vonWie kann ich Gruppen basierend auf der Zeilenanzahl filtern, nachdem ich Daten gruppiert habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!