我有按计划工作的这段代码。给我“源”以及每个源有多少个应用程序。
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]
答案 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
值。让我知道我是否误解了您的问题。