1. ホーム
  2. sql

[解決済み] sql count を case 文で使用する

2022-03-01 22:11:26

質問

私はテーブルを持っており、私は次の方法で出力を表示する必要があります。

tb_a:

col1  |  reg_id | rsp_ind 

rsp_ind = 0 を「新規」、1 を「受理」とした行の数

出力は次のようになります。

NEW | Accepted
9   | 10

以下のクエリで試してみました。

select 
  case when rsp_ind = 0 then count(reg_id)end as 'New',
  case when rsp_ind = 1 then count(reg_id)end as 'Accepted'
from tb_a

と出力されます。

NEW | Accepted
NULL| 10
9   | NULL

出力を達成するためにクエリを調整するのを手伝ってくれる人はいますか? 注:このクエリを囲むようにsumを追加することはできません。これはより大きなプログラムの一部なので、これにスーパークエリを追加することはできません。

解決方法は?

SELECT 
    COUNT(CASE WHEN rsp_ind = 0 then 1 ELSE NULL END) as "New",
    COUNT(CASE WHEN rsp_ind = 1 then 1 ELSE NULL END) as "Accepted"
from tb_a

このリクエストの出力を見ることができます こちら