Maison > base de données > tutoriel mysql > Comment récupérer les valeurs de colonne correspondantes dans MySQL à l'aide de l'agrégation et de HAVING ?

Comment récupérer les valeurs de colonne correspondantes dans MySQL à l'aide de l'agrégation et de HAVING ?

Susan Sarandon
Libérer: 2025-01-22 21:12:11
original
757 Les gens l'ont consulté

How to Retrieve Matching Column Values in MySQL Using Aggregation and HAVING?

Récupérer efficacement les valeurs de colonne correspondantes dans MySQL

Les requêtes de base de données nécessitent souvent de récupérer des lignes en fonction de correspondances de valeurs de colonne spécifiques. Cette tâche devient plus complexe lorsqu'il s'agit de grandes tables. Cet exemple démontre une méthode efficace utilisant les fonctions d'agrégation de MySQL et la clause HAVING.

Considérons un exemple de tableau :

<code>ID | Score
-----
1 | 95
2 | 100
3 | 88
4 | 100
5 | 73</code>
Copier après la connexion

Le but est de trouver des scores communs à l'ID 2 et à l'ID 4. Le résultat attendu est 100.

Les capacités d'agrégation de MySQL offrent une solution élégante :

<code class="language-sql">SELECT score
FROM t
GROUP BY score
HAVING SUM(id = 2) > 0 AND SUM(id = 4) > 0;</code>
Copier après la connexion

Cette requête regroupe les données par score. La clause HAVING utilise ensuite des fonctions d'agrégation pour vérifier la présence de l'ID 2 et de l'ID 4 dans chaque groupe. SUM(id = 2) > 0 compte les occurrences de l'ID 2 et SUM(id = 4) > 0 compte les occurrences de l'ID 4. Seuls les scores où les deux comptes sont supérieurs à zéro sont renvoyés. Cela garantit que seuls les scores associés aux deux identifiants sont inclus dans le résultat.

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