ホームページ >データベース >mysql チュートリアル >COUNT() 関数内の条件に基づいて行をカウントするにはどうすればよいですか?
COUNT() 内の条件付き行カウント: 簡潔なアプローチ
多くの場合、特定の基準を満たす行をカウントする必要があります。 たとえば、「役職」列の「マネージャー」エントリのみをカウントします。 WHERE
句を使用する代わりに、条件を COUNT()
関数に直接統合できます。
解決策: CASE ステートメントと集計関数
重要なのは、COUNT()
は非 NULL 値のみをカウントすることを覚えておくことです。 したがって、次のような CASE
ステートメントを使用します。
<code class="language-sql">SELECT COUNT(CASE Position WHEN 'Manager' THEN 1 ELSE NULL END) FROM ...</code>
または、SUM()
を同様の方法で使用できます。
<code class="language-sql">SELECT SUM(CASE Position WHEN 'Manager' THEN 1 ELSE 0 END) FROM ...</code>
このアプローチにより、COUNT()
または SUM()
関数内で条件付き行カウントが可能になり、別個の WHERE
句の必要性がなくなり、よりコンパクトで効率的な SQL が得られます。
以上がCOUNT() 関数内の条件に基づいて行をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。