ホームページ >データベース >mysql チュートリアル >COUNT() 関数内の条件に基づいて行をカウントするにはどうすればよいですか?

COUNT() 関数内の条件に基づいて行をカウントするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-11 09:14:42796ブラウズ

How Can I Count Rows Based on Conditions Within the COUNT() Function?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。