我如何在其中嵌套另一个SQL COUNT?

时间:2018-10-01 21:25:44

标签: sql count

我有按计划工作的这段代码。给我“源”以及每个源有多少个应用程序。

SELECT source, COUNT(1) as Cnt
    FROM apps
    WHERE monthyear = 'October2018' 
    GROUP BY source
  

OUTPUT是['Store1',1],['Store2',5],['Store3',3],

我要在同一张表上还有一个名为“已售出”的行,我想在每个商店中计算多少售出= 1,这样我得到以下输出:

  

来源,应用,已出售['Store1',1、0],['Store2',5、3],['Store3',3,   1]

1 个答案:

答案 0 :(得分:2)

如果我对您的理解正确,那么您在apps表中有一列称为sold,该列大概是布尔值,并且您希望现有查询返回以下记录的数量:设置了source标志的每个不同的sold值。在这种情况下,您需要条件计数,如下所示:

select
    source,
    count(1) as Cnt,
    count(case when Sold = 1 then 1 end) as CountSold
from
    apps
where
    monthyear = 'October2018' 
group by
    source;

然后,您只需更新代码即可在需要的地方包含新的CountSold值。让我知道我是否误解了您的问题。