Sql 在查询中选择添加具有不同子句的第二个计数列
我有一个问题,如下所示:Sql 在查询中选择添加具有不同子句的第二个计数列,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我有一个问题,如下所示: select id_matched , count(*) s_count into STEVEN_1c from batch where match = 200 group by id_matched 现在我想在这个查询中添加第二个count列,这是一个稍微更具体的查询,它还检查另一个列,即添加一个名为“count_unique”的列,其中列“unique”=1 大概是 select id_matched , c
select id_matched
, count(*) s_count
into STEVEN_1c
from batch
where match = 200
group by
id_matched
现在我想在这个查询中添加第二个count列,这是一个稍微更具体的查询,它还检查另一个列,即添加一个名为“count_unique”的列,其中列“unique”=1
大概是
select id_matched
, count(*) s_count
, count(* + and unique=1) count_unique
into STEVEN_1c
from batch
where match = 200
group by
id_matched
只是不确定添加第二个比第一个更具体的计数列的语法是什么?尝试以下方法:
select id_matched
, count(*) s_count
, sum(case when unique = 1 then 1 else 0 end) count_unique
into STEVEN_1c
from batch
where match = 200
group by
id_matched
您可以在count函数中写入一个case条件,如下所示:
select id_matched
, count(*) s_count
, count(case [unique] when 1 then 1 else null end) as count_unique
into STEVEN_1c
from batch
where match = 200
group by
id_matched