Maison > base de données > tutoriel mysql > le corps du texte

Comment filtrer efficacement les résultats groupés dans MySQL à l'aide de la clause HAVING ?

Barbara Streisand
Libérer: 2024-11-07 20:24:03
original
290 Les gens l'ont consulté

How to Efficiently Filter Grouped Results in MySQL using the HAVING Clause?

Utilisation de la clause HAVING de MySQL pour filtrer les résultats groupés

La requête que vous essayez d'exécuter dans MySQL vise à filtrer les lignes en fonction d'un élément spécifique condition appliquée au nombre de lignes dans un groupe. Bien que l'utilisation de COUNT(*) dans la clause WHERE soit une approche courante, elle peut en effet être gourmande en ressources.

Vous pouvez également utiliser la clause HAVING de MySQL, qui fournit une méthode plus efficace pour filtrer les données groupées. Voici comment vous pouvez obtenir le même résultat en utilisant HAVING :

SELECT gid
FROM `gd`
GROUP BY gid
HAVING COUNT(*) > 10
ORDER BY lastupdated DESC
Copier après la connexion

Décomposons cette requête :

  • GROUP BY gid regroupe les lignes par la colonne gid, en agrégeant toutes les lignes avec la même valeur gid.
  • HAVING COUNT(*) > 10 filtre les groupes où le nombre de lignes dans chaque groupe est supérieur à 10.
  • ORDER BY lastupdated DESC trie les lignes résultantes par ordre décroissant en fonction de la dernière colonne mise à jour.

By En utilisant la clause HAVING, cette requête élimine efficacement les groupes de moins de 10 lignes et fournit le résultat souhaité. Cette approche est particulièrement bénéfique dans les scénarios où l'ensemble de données est volumineux, car elle évite la surcharge liée au calcul de COUNT(*) pour chaque ligne individuelle.

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