ホームページ >データベース >mysql チュートリアル >MySQL で特定の ID 間で重複するスコア値を見つけるにはどうすればよいですか?
MySQL で重複するカラム値を取得するためのトリック
MySQL データベースでは、特定の列で同じ値を共有する行を取得する必要がある場合があります。次の表を考えてみましょう。「スコア」列には、さまざまな「ID」に関連付けられた値が含まれています。
ID | 分数 |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
「ID」が 2 と 4 である 2 つの行に出現するスコアを取得するとします。
解決策:
MySQL を使用してこれを実現するには、次のクエリを使用できます:
<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>
このクエリは次の手順を実行します:
この場合、結果は次のようになります:
<code>分数 100</code>
このクエリは、「ID」が 2 と 4 の両方の行に出現するスコア値を効果的に取得します。 改良されたクエリでは、フィルター条件がより明確に表現され、潜在的なロジック エラーが回避されます。
以上がMySQL で特定の ID 間で重複するスコア値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。