この SQL Server 2005 の例は、個別のプログラム名を効率的にカウントし、プログラムの種類ごとにグループ化し、プッシュ数でフィルター処理する方法を示しています。 以前のクエリでは、一意のプログラム名ではなく、すべてのプログラム名のみがカウントされました。
個別のプログラム名を正確にカウントするには、COUNT(DISTINCT)
関数を利用します。
<code class="language-sql">COUNT(DISTINCT <expression>)</code>
この関数は、各グループ内の指定された式の一意の非 null 値のみをカウントします。 ここでの式は program_name
.
改良されたクエリは次のとおりです:
<code class="language-sql">SELECT program_type AS [Type], COUNT(DISTINCT program_name) AS [Count] FROM cm_production WHERE push_number = @push_number GROUP BY program_type;</code>
このクエリは、特定の @push_number
を指定すると、プログラム タイプごとに一意のプログラム名の数を正確に返します。 これにより、エントリの総数ではなく個別の値をカウントするという元の問題が解決されます。
以上がCOUNT(DISTINCT) を使用して SQL Server で異なるプログラム名をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。