ホームページ >データベース >mysql チュートリアル >SQL で条件付き列の値をカウントする方法: 優先順位ベースの例?
次の構造を持つ「Jobs」というテーブルについて考えてみましょう:
<code>jobId, jobName, Priority</code>
ここで、「優先度」は 1 から 5 までの整数です。
問題ステートメント:
「ジョブ」テーブル内の各優先レベル (1 ~ 5) の行数をカウントするクエリを作成する必要があります。クエリは、これらの数を表す、それぞれ「Priority1」から「Priority5」という名前の列を返す必要があります。
解決策:
これを行うには、次の SQL ステートメントを使用します:
<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>
説明:
注: 「jobId」と「jobName」を除外したい場合は、SELECT 句と GROUP BY 句からそれらを削除するだけです。
以上がSQL で条件付き列の値をカウントする方法: 優先順位ベースの例?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。