ホームページ >データベース >mysql チュートリアル >COUNT() を使用して SQL で特定の条件を満たす行をカウントするにはどうすればよいですか?

COUNT() を使用して SQL で特定の条件を満たす行をカウントするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-11 10:02:43210ブラウズ

How Can I Count Rows Meeting Specific Conditions in SQL Using COUNT()?

SQL COUNT() 関数を使用して、特定の条件を満たす行の数をカウントします

SQL の COUNT() 集計関数は通常、列内の null 以外の値をすべてカウントします。しかし、特定の条件を満たす行の数だけをカウントしたい場合はどうすればよいでしょうか?たとえば、役職列に「マネージャー」という役職がある従業員の数のみをカウントします。

WHERE 句は行をフィルタリングする簡単な方法を提供しますが、マネージャーと他の従業員の両方をカウントする必要がある状況では不十分な場合があります。このとき、COUNT()集計関数の条件式が便利です。

COUNT() で条件式を使用する

WHERE 句を使用する代わりに、COUNT() の機能を利用して、null 以外の値のみをカウントできます。条件式を使用すると、Position 列を評価し、条件に基づいて特定の値を割り当てる case ステートメントを作成できます。

例 1: Case と Count() の使用

<code class="language-sql">select count(case Position when 'Manager' then 1 else null end)
from ...</code>

このクエリでは、case ステートメントは、Position 列が「Manager」と等しいかどうかを評価します。 true の場合、割り当てられる値は 1 です。それ以外の場合、割り当てられる値は null です。 COUNT() 集計関数は、case 式内の null 以外の値をすべて合計して、マネージャーの行数を取得します。

例 2: Case と Sum() の使用

代わりに、Sum() 集計関数と同様の条件式を使用することもできます。

<code class="language-sql">select sum(case Position when 'Manager' then 1 else 0 end)
from ...</code>

このメソッドは、Sum() 集計関数が case 式で指定された値を合計し、ゼロ以外の値 (つまり、Position が「Manager」に等しい行) を効果的にカウントするため、マネージャーの行数を取得することもできます。 。

以上がCOUNT() を使用して SQL で特定の条件を満たす行をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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