ホームページ > データベース > mysql チュートリアル > COUNT(DISTINCT) を使用して SQL Server で異なるプログラム名を正しくカウントする方法

COUNT(DISTINCT) を使用して SQL Server で異なるプログラム名を正しくカウントする方法

Linda Hamilton
リリース: 2025-01-14 18:51:43
オリジナル
229 人が閲覧しました

How to Correctly Count Distinct Program Names in SQL Server Using COUNT(DISTINCT)?

COUNT(DISTINCT) を使用して SQL Server 内の一意のプログラム名をカウントする

このガイドでは、COUNT(DISTINCT) 集計関数を使用して SQL Server 内で一意のプログラム名を正確にカウントする方法を説明します。 一般的なクエリの問題とその解決策を検討します。

課題:

cm_productionticket_numberprogram_typeprogram_name などの列を含む push_number という名前のテーブルについて考えます。 目標は、program_typepush_number ごとに異なるプログラム名の数を決定することです。 最初の試行は次のようになります:

<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):

を使用することが含まれます。
<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) は、各 program_name グループ内の program_type の null 以外の一意の値のみをカウントします。 重複するプログラム名は無視されます。 これにより、プログラムの種類ごとに個別のプログラム名の正確な数が得られます。

さらなる考慮事項:

DISTINCT キーワードは、SUM()MIN()MAX() などのさまざまな集計関数と互換性があります。 COUNT() と一緒に使用すると、機能的には COUNT(DISTINCT 1) または COUNT(NOT NULL) と同等になります。

以上がCOUNT(DISTINCT) を使用して SQL Server で異なるプログラム名を正しくカウントする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート