Regroupement et filtrage par nombre
Il est possible d'agréger les résultats en comptant les lignes en groupes, puis de filtrer les résultats en fonction du nombre. Vous pouvez y parvenir en utilisant la clause HAVING, qui vous permet d'appliquer une condition de filtre sur une fonction d'agrégation.
Utilisation :
La requête suivante montre comment utiliser HAVING pour filtrer les résultats par nombre :
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
Dans cette requête, nous regroupons d'abord les lignes de 'mytable' par la colonne 'name'. La fonction d'agrégation COUNT(*) compte le nombre de lignes dans chaque groupe. Par la suite, la clause HAVING filtre les résultats pour inclure uniquement les groupes dont le nombre est supérieur à 1.
Exemple :
Considérez le tableau suivant :
name |
---|
John |
Mary |
John |
Jane |
Jane |
Mark |
La requête ci-dessus renverra le résultat suivant :
name | COUNT(*) |
---|---|
John | 2 |
Jane | 2 |
Comme vous pouvez le voir, seul le Les groupes « John » et « Jane » sont renvoyés car leur 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!