Maison >base de données >tutoriel mysql >Comment trouver des valeurs communes sur plusieurs lignes dans une colonne MySQL ?

Comment trouver des valeurs communes sur plusieurs lignes dans une colonne MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-22 21:17:16872parcourir

How to Find Common Values Across Multiple Rows in a MySQL Column?

Recherche de valeurs communes dans les colonnes MySQL

Lorsque vous travaillez avec des bases de données relationnelles comme MySQL, il est souvent nécessaire de récupérer des lignes qui partagent des valeurs de colonne identiques. Considérons un scénario où un tableau contient les données suivantes :

ID Score
1 95
2 100
3 88
4 100
5 73

Problème : Comment pouvons-nous récupérer le score qui apparaît dans les deux lignes avec les ID 2 et 4 ?

Solution :

Cette requête utilise les clauses GROUP BY et HAVING pour obtenir l'objectif souhaité. résultat :

SELECT Score
FROM t
GROUP BY Score
HAVING SUM(id = 2) > 0 AND SUM(id = 4) > 0

Explication :

  • GROUP BY Score : Cette clause regroupe les lignes par leur colonne Score.
  • HAVING SUM (identifiant = 2) > 0 : Cette partie de la clause HAVING vérifie si la somme des lignes avec id = 2 est supérieure à zéro au sein de chaque groupe (Score).
  • AND SUM(id = 4) > 0 : Cette condition vérifie si la somme des lignes avec id = 4 est également supérieure à zéro au sein du même groupe.

Résultat :

En combinant ces éléments deux conditions dans la clause HAVING, nous récupérons uniquement le Score commun aux lignes avec à la fois id = 2 et id = 4. Dans ce cas, il renvoie la valeur 100.

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