Maison >base de données >tutoriel mysql >Comment puis-je sélectionner efficacement des valeurs « gid » distinctes avec un « COUNT(*) » supérieur à 10 dans MySQL ?

Comment puis-je sélectionner efficacement des valeurs « gid » distinctes avec un « COUNT(*) » supérieur à 10 dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-07 11:42:031083parcourir

How Can I Efficiently Select Distinct `gid` Values with a `COUNT(*)` Greater Than 10 in MySQL?

Utiliser efficacement COUNT(*) dans les clauses MySQL WHERE

Pour obtenir le résultat souhaité dans MySQL, où vous souhaitez sélectionner des valeurs gid distinctes avec une condition COUNT(*) supérieure à 10 et triez les résultats par ordre décroissant, l'approche que vous avez suggérée en utilisant une requête SELECT imbriquée dans la clause WHERE n'est peut-être pas la plus efficace.

Envisagez plutôt d'utiliser GROUP BY et AVOIR des clauses pour accomplir votre tâche. Voici la requête corrigée :

SELECT gid
FROM `gd`
GROUP BY gid
HAVING COUNT(*) > 10
ORDER BY lastupdated DESC

Comprendre la requête

La clause GROUP BY organise les données de la table gd par la colonne gid. Cette action regroupe les lignes avec la même valeur gid.

Ensuite, la clause HAVING applique un filtre aux lignes regroupées, en sélectionnant uniquement celles avec un COUNT(*) supérieur à 10. Cela garantit que les résultats renvoyés correspondent vos critères de fréquence spécifiés.

Enfin, la clause ORDER BY organise les lignes restantes par ordre décroissant en fonction de l'horodatage de la dernière mise à jour, vous donnant le tri souhaité.

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!

Déclaration:
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