Maison > base de données > tutoriel mysql > Comment trouver des valeurs de score en double sur des identifiants spécifiques dans MySQL ?

Comment trouver des valeurs de score en double sur des identifiants spécifiques dans MySQL ?

Barbara Streisand
Libérer: 2025-01-22 20:56:10
original
400 Les gens l'ont consulté

How to Find Duplicate Score Values Across Specific IDs in MySQL?

Astuces pour récupérer les valeurs de colonnes en double dans MySQL

Dans une base de données MySQL, vous devrez peut-être récupérer les lignes qui partagent la même valeur dans une colonne spécifique. Considérez le tableau suivant, où la colonne « Score » contient des valeurs associées à différents « ID » :

ID 分数
1 95
2 100
3 88
4 100
5 73

Supposons que vous souhaitiez récupérer les scores qui apparaissent sur deux lignes avec "ID" égal à 2 et 4.

Solution :

Pour y parvenir en utilisant MySQL, vous pouvez utiliser la requête suivante :

SELECT score
FROM t
GROUP BY score
HAVING COUNT(*) > 1 AND SUM(CASE WHEN id = 2 THEN 1 ELSE 0 END) > 0 AND SUM(CASE WHEN id = 4 THEN 1 ELSE 0 END) > 0;
Copier après la connexion

Cette requête effectue les étapes suivantes :

  1. GROUP BY : Il regroupe les lignes en fonction de la colonne "Score".
  2. *Count (COUNT()) :** Il compte le nombre de lignes dans chaque groupe, garantissant que seuls les scores en double sont renvoyés.
  3. Compte conditionnel (SUM(CASE WHEN ... END)) : Il compte le nombre de lignes avec l'ID 2 et l'ID 4 dans chaque groupe respectivement.
  4. Clause HAVING : La clause HAVING garantit que seuls les scores avec un nombre de scores supérieur à 1 sont renvoyés et que les scores avec l'ID 2 et l'ID 4 sont tous deux supérieurs à 0.

Dans ce cas le résultat serait :

<code>分数
100</code>
Copier après la connexion

Cette requête récupère efficacement les valeurs de score qui apparaissent dans les deux lignes avec "ID" égal à 2 et 4. La requête améliorée exprime plus clairement les conditions de filtrage et évite les erreurs logiques potentielles.

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal