当 X=Y 按 Y 分组时如何求和?

How to sum case when X=Y group by Y?

我正在尝试编写一个查询,说明如果一个 ID 存在于 all1o1sSC.salesforce_id 中,然后将它存在于 all1o1s 中的次数相加。

我写道:

select 
   sc.salesforce_id,
   sum(case when all1o1s.member_id = sc.salesforce_id then 1 else 0) as "1o1 completed count"
from salesforce_contacts as sc 
inner join leenk_1o1s as all1o1s on sc.salesforce_id = all1o1s.member_id    
group by sc.salesforce_id;

总和行出错。我如何构造此查询?

谢谢!

试试这个

 select b.salesforce_id,count(1) from all1o1s a,salesforce_contacts b where a.id=b.salesforce_id
group by b.salesforce_id having count(1) > 1

根据你的问题,你需要计数而不是总和