Maison > base de données > tutoriel mysql > SQL peut-il filtrer les résultats groupés en fonction du nombre de lignes ?

SQL peut-il filtrer les résultats groupés en fonction du nombre de lignes ?

Patricia Arquette
Libérer: 2024-12-30 16:13:17
original
945 Les gens l'ont consulté

Can SQL Filter Grouped Results Based on Row Count?

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 name
Copier 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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal