admin

在case语句中使用sql count

sql

我有一张桌子,我需要按以下方式显示输出。

tb_a:

col1  |  reg_id | rsp_ind

rsp_ind = 0(表示“新”)和1(表示“ Accepted”(已接受))的行数

输出应为

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

有人可以帮助我调整查询以实现输出。注意:我不能为此加上一笔款项。它是更大程序的一部分,因此我无法为此添加超级查询。


阅读 215

收藏
2021-05-10

共1个答案

admin

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

您可以在此处查看此请求的输出

2021-05-10