Maison >base de données >tutoriel mysql >Comment trouver des valeurs de colonne correspondantes sur plusieurs lignes dans MySQL ?
Identifie les valeurs de colonne correspondantes dans les lignes MySQL
MySQL fournit un mécanisme polyvalent pour récupérer des données à partir de tables, notamment pour isoler les lignes en fonction des valeurs de colonnes communes. Cet article explique comment renvoyer les lignes qui ont la même valeur dans une colonne spécifique.
Énoncé du problème :
Considérez le tableau suivant :
ID | Score |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
La tâche est de récupérer uniquement les scores correspondant aux ID 2 et 4, en l'occurrence 100.
Solution :
MySQL propose plusieurs façons d'accomplir cette tâche. La méthode la plus appropriée dépend des exigences spécifiques.
Utiliser la clause HAVING pour l'agrégation :
Pour cette situation, la combinaison des agrégats et des clauses HAVING apporte une solution élégante :
<code class="language-sql">SELECT score FROM t GROUP BY score HAVING SUM(id = 2) > 0 AND -- 包含id = 2 SUM(id = 4) > 0 -- 包含id = 4</code>
Cette requête regroupe les lignes par score, en comptant les occurrences de l'ID 2 et de l'ID 4 dans chaque score. La clause HAVING garantit que seuls les scores qui existent dans les ID 2 et ID 4 sont renvoyés.
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!