データセット内の固有のエントリの数を決定することは、データ分析における一般的なタスクです。 SQL Server では、COUNT(DISTINCT)
関数を使用して個別の値をカウントする簡単な方法を提供しています。これは、固有の出来事を理解することが重要である大規模なデータセットを扱う場合に特に役立ちます。
cm_production
テーブルについて考えてみましょう。このテーブルには、チケット番号、プログラム タイプ、プログラム名、プッシュ番号などのコード デプロイメントに関する情報が保存されています。 私たちの目的は、プログラムの種類とプッシュ番号によって分類された一意のプログラム名の数を特定することです。
最初の間違ったアプローチは次のようになります:
<code class="language-sql">DECLARE @push_number INT; SET @push_number = [HERE_ADD_NUMBER]; SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] FROM cm_production WHERE push_number=@push_number GROUP BY program_type</code>
このクエリは一見正しいように見えますが、実際には一意のプログラム名だけでなく、すべてのプログラム名をカウントします。 正しいカウントを取得する鍵は、COUNT(DISTINCT <expression>)
関数を利用することにあります。 この関数は、特定の式に対する一意の非 null 値の数を具体的に返します。
修正された SQL クエリは次のとおりです:
<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>
この洗練されたクエリは、COUNT(DISTINCT program_name)
を利用して、プログラムの種類ごとに個別のプログラム名と指定された push_number
を正確にカウントします。これにより、データベース内の一意のコード展開が正確に表現されます。
以上がCOUNT(DISTINCT) を使用して SQL Server で異なるプログラム名を数える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。