Heim >Datenbank >MySQL-Tutorial >Wie finde ich doppelte Score-Werte über bestimmte IDs hinweg in MySQL?
Tricks zum Abrufen doppelter Spaltenwerte in MySQL
In einer MySQL-Datenbank müssen Sie möglicherweise die Zeilen abrufen, die in einer bestimmten Spalte denselben Wert haben. Betrachten Sie die folgende Tabelle, in der die Spalte „Score“ Werte enthält, die verschiedenen „IDs“ zugeordnet sind:
ID | 分数 |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
Angenommen, Sie möchten die Ergebnisse abrufen, die in zwei Zeilen mit der „ID“ gleich 2 und 4 auftreten.
Lösung:
Um dies mit MySQL zu erreichen, können Sie die folgende Abfrage verwenden:
<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>
Diese Abfrage führt die folgenden Schritte aus:
In diesem Fall wäre das Ergebnis:
<code>分数 100</code>
Diese Abfrage ruft effektiv die Score-Werte ab, die in beiden Zeilen mit „ID“ gleich 2 und 4 auftreten. Die verbesserte Abfrage drückt Filterbedingungen klarer aus und vermeidet mögliche Logikfehler.
Das obige ist der detaillierte Inhalt vonWie finde ich doppelte Score-Werte über bestimmte IDs hinweg in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!