MySQL 複数行同じ値検索: 完全ガイド
MySQL などのリレーショナル データベースでは、列値が一致する行と列を識別することが重要なタスクとなることがよくあります。この記事では、特定の列で同じ値を共有する列を返す方法について説明します。
次のデータテーブルについて考えてみましょう:
ID | Score |
---|---|
1 | 95 |
2 | 100 |
3 | 88 |
4 | 100 |
5 | 73 |
ID 2 と ID 4 の両方に出現するすべてのスコアを取得するには、集計と HAVING 句を使用する方法があります。
<code class="language-sql">SELECT Score FROM t GROUP BY Score HAVING COUNT(CASE WHEN ID = 2 THEN 1 END) > 0 AND COUNT(CASE WHEN ID = 4 THEN 1 END) > 0;</code>
このクエリは、個別のスコアごとに ID 2 行と ID 4 行をカウントします。次に、ID 2 と ID 4 の両方のカウントが 0 より大きい小数を目的の結果として返します。
手順:
GROUP BY Score
スコア列ごとに行を集計します。 HAVING COUNT(CASE WHEN ID = 2 THEN 1 END) > 0
ID 2 が存在するスコアのみを含めるようにしてください。 HAVING COUNT(CASE WHEN ID = 4 THEN 1 END) > 0
結果をさらにフィルタリングして、ID 4 も存在するスコアを含めます。 HAVING 句でこれらの条件を組み合わせることで、クエリは ID 2 と ID 4 の両方に現れるスコアを効果的に識別します。この手法は任意の数の ID または列に拡張でき、MySQL で一致する値を見つけるための一般的なソリューションを提供します。
以上がMySQL の複数の行で同一の値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。