ホームページ >データベース >mysql チュートリアル >MySQL で集計と HAVING を使用して一致する列の値を取得する方法
MySQL で一致するカラム値を効率的に取得する
データベース クエリでは、多くの場合、特定の列値の一致に基づいて行を取得する必要があります。大きなテーブルを扱う場合、このタスクはより複雑になります。 この例では、MySQL の集計関数と HAVING
句を使用した効率的な方法を示します。
<code>ID | Score ----- 1 | 95 2 | 100 3 | 88 4 | 100 5 | 73</code>目標は、ID 2 と ID 4 の両方に共通するスコアを見つけることです。期待される結果は 100 です。
MySQL の集約機能は、洗練されたソリューションを提供します。
<code class="language-sql">SELECT score FROM t GROUP BY score HAVING SUM(id = 2) > 0 AND SUM(id = 4) > 0;</code>このクエリはデータを
ごとにグループ化します。次に、score
句は集計関数を使用して、各グループ内に ID 2 と ID 4 の両方が存在するかどうかを確認します。 HAVING
は ID 2 の出現をカウントし、SUM(id = 2) > 0
は ID 4 の出現をカウントします。両方のカウントが 0 より大きいスコアのみが返されます。 これにより、両方の ID に関連付けられたスコアのみが結果に含まれるようになります。SUM(id = 4) > 0
以上がMySQL で集計と HAVING を使用して一致する列の値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。