Heim >Datenbank >MySQL-Tutorial >Wie filtere ich Gruppen basierend auf der Anzahl aggregierter Funktionen in SQL?
Gruppieren und Filtern nach aggregiertem Funktionswert
Möglicherweise stoßen Sie auf ein Szenario, in dem Sie Ergebnisse gruppieren und dann nach der Anzahl der Zeilen filtern müssen in jeder Gruppe. Während die vorgeschlagene Abfrage SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY-Name ist syntaktisch falsch, er hebt die gewünschte Funktionalität hervor.
Um dies zu erreichen, können Sie die HAVING-Klausel verwenden, die es Ihnen ermöglicht, Bedingungen auf Aggregatfunktionen anzuwenden. Die folgende modifizierte Abfrage wird Ihr Ziel erreichen:
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
In dieser Abfrage:
Diese Abfrage ruft den Namen und die Anzahl aller Gruppen ab, bei denen die Anzahl 1 überschreitet, sodass Sie sie identifizieren können und filtern Sie basierend auf dem Vorkommen von Werten.
Das obige ist der detaillierte Inhalt vonWie filtere ich Gruppen basierend auf der Anzahl aggregierter Funktionen in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!