ホームページ >データベース >mysql チュートリアル >COUNT() を使用して条件に基づいて行をカウントするにはどうすればよいですか?
COUNT() 関数での条件付きカウント
場合によっては、合計数を取得する代わりに、特定の基準に基づいて行をカウントすることが必要になる場合があります。たとえば、特定の列に特定の値を持つ行のみをカウントしたい場合があります。
COUNT() 関数を使用すると、カウントする行をフィルターする条件を指定できます。これは、次のコード スニペットに示すように、CASE 式を COUNT() 関数と組み合わせて使用することで実現できます。
<code class="language-sql">select count(case Position when 'Manager' then 1 else null end) from ...</code>この例では、「Position」列の値が「Manager」である行のみをカウントします。 CASE 式は、各行の「位置」列を評価します。列の値が「Manager」と一致する場合は 1 を返し、それ以外の場合は null を返します。これにより、「Position」列に「Manager」を含む行のみがカウントされるようになります。
また、SUM() 関数を同様に使用することもできます。
<code class="language-sql">select sum(case Position when 'Manager' then 1 else 0 end) from ...</code>このメソッドでは、CASE 式を使用して行をフィルタリングすることもできます。ただし、一致しない行の場合は、null ではなく 0 を返します。次に、SUM() 関数はこれらの値の合計を計算し、「Position」列に「Manager」を含む行の数を求めます。
以上がCOUNT() を使用して条件に基づいて行をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。