Maison >base de données >tutoriel mysql >Comment trouver des valeurs de score en double sur des identifiants spécifiques dans 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 :
<code class="language-sql">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;</code>
Cette requête effectue les étapes suivantes :
Dans ce cas le résultat serait :
<code>分数 100</code>
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!