Filtrage par nombre de groupes
En SQL, il est possible de regrouper les résultats et de filtrer en fonction du nombre de lignes dans chaque groupe. Ceci peut être réalisé en utilisant la clause HAVING.
Considérez l'exigence suivante :
Énoncé du problème :
Est-il possible de regrouper les résultats puis filtrer selon le nombre de lignes du groupe ? Par exemple :
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY nameCopier après la connexion
Solution :
La clause HAVING nous permet d'appliquer un filtre sur une fonction d'agrégation. Dans ce cas, nous pouvons filtrer sur la fonction d'agrégation COUNT(*) pour sélectionner des groupes comportant plus d'une ligne. La syntaxe correcte est :
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
Cette requête renverra tous les noms uniques et le nombre de lignes associées à chaque nom, où le nombre est supérieur à 1.
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!