[英]Count specific values that belong to the same column SQL Server
我想寻求帮助,我想对记录的数量进行计数,但仅在一个列中就有2个条件用于2个特定值:
首先计算记录:
计数(服务)为联系人
service | state | address
service1| 1 |123
service2| 1 |321
service3| 3 |332
service1| 2 |333
service2| 2 |111
service3| 3 |333
第一个结果
Service | Contacts | status
service1| 1 | 1
service1| 1 | 2
service1| 1 | 3
service2| 1 | 1
service2| 1 | 2
service2| 1 | 3
如果status = 1和2,则将计数加到其他0(仅计算谁的“ status”等于1和2)。
结果:
最后结果
Service | Contacts
Service1 | 2
Service2 | 2
抱歉给您带来的混乱谢谢您的大力帮助
这应该适用于所有主要数据库
SELECT service,
SUM(CASE WHEN status IN(1,2) THEN contacts ELSE 0 END) as Contacts
FROM (your query) as x
GROUP BY service
select service,
sum(case when status in(1,2) then contacts else 0 end) as contact_count
from MyTable
group by service
这将对每一行进行评估,并在状态为必填状态的sum
中包含contacts
值。 由于是汇总,因此您需要按service
分组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.