Maison >base de données >tutoriel mysql >Comment filtrer les groupes en fonction du nombre de fonctions agrégées dans SQL ?
Regroupement et filtrage par valeur de fonction d'agrégation
Vous pouvez rencontrer un scénario dans lequel vous devez regrouper les résultats, puis filtrer par le nombre de lignes dans chaque groupe. Alors que la requête suggérée SELECT * FROM mytable WHERE COUNT(*) > 1 Le nom GROUP BY est syntaxiquement incorrect, il met en évidence la fonctionnalité souhaitée.
Pour y parvenir, vous pouvez utiliser la clause HAVING, qui permet d'appliquer des conditions sur les fonctions d'agrégation. La requête modifiée suivante atteindra votre objectif :
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
Dans cette requête :
Cette requête récupérera le nom et le nombre de tous les groupes dont le nombre dépasse 1, vous permettant d'identifier et filtrer en fonction de l'occurrence des valeurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!