ホームページ >データベース >mysql チュートリアル >条件付きSQLクエリを使用してジョブの優先順位をカウントするにはどうすればよいですか?

条件付きSQLクエリを使用してジョブの優先順位をカウントするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-10 10:02:44325ブラウズ

How to Count Job Priorities Using Conditional SQL Queries?

優先度分析に条件付きカウント クエリを使用する

データ分析では、カテゴリデータから情報を抽出するために条件付きカウントが必要になることがよくあります。 「jobId」、「jobName」、および「Priority」列を含むテーブルについて考えます。「Priority」の範囲は 1 ~ 5 です。各優先レベルの行数をカウントするクエリを作成する必要があります。

CASE ステートメントを使用したクエリ:

次のクエリは CASE ステートメントを使用して、優先度レベルごとに条件付きカウントを実行します。

<code class="language-sql">SELECT 
    jobID, 
    jobName,
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM 
    Jobs
GROUP BY 
    jobID, 
    jobName</code>

CASE ステートメントは、行ごとに、「Priority」値が指定された数値と一致するかどうかをチェックします (たとえば、Priority1 は 1)。この式は、true の場合は 1 を返し、false の場合は 0 を返します。次に、SUM 関数は、各グループ (「jobId」と「jobName」によって決定される) に対してこれらの値を集計します。

ジョブ ID とジョブ名を削除します:

結果に「jobId」と「jobName」を含める必要がない場合は、SELECT 句と GROUP BY 句を変更してそれらを削除できます。

<code class="language-sql">SELECT 
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM 
    Jobs</code>

この簡略化されたクエリは、各優先レベルの条件数のみを返します。

以上が条件付きSQLクエリを使用してジョブの優先順位をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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