日期:2014-05-19  浏览次数:20626 次

统计某种数据等于某个值的次数
A B
------------
1 x
1 x
1 y
2 x
2 k

我想统计A列每种数据在B列为x出现的次数,不知怎么弄好,看似简单去没做出来,我试过这样的:
统计结果应该为:
1   2
2   1


select   a,count(*)   where   b= 'x '   group   by   a,但是是当某种数据在b列没有一个等于x的时候,这种数据就查不到了


------解决方案--------------------
select a,sum(case when b= 'x ' then 1 else 0 end) from 表 group by a
------解决方案--------------------
Select
A,
SUM(Case B When 'x ' Then 1 Else 0 End) As [count]
From TableName
Group By A