我有一个类似以下格式的数据,现在我想计算“ 7”和“ 0”的出现次数,就像它在“ vi”列中的表中显示了多少次?
ci vi
1 7
2 0
3 0
4 7
5 7
6 10
7 15
8 0
9 16
10 7
11 0
12 35
预先感谢
答案 0 :(得分:2)
尝试一下
;WITH CTE(ci ,vi )
AS
(
SELECT 1 ,7 UNION ALL
SELECT 2 ,0 UNION ALL
SELECT 3 ,0 UNION ALL
SELECT 4 ,7 UNION ALL
SELECT 5 ,7 UNION ALL
SELECT 6 ,10 UNION ALL
SELECT 7 ,15 UNION ALL
SELECT 8 ,0 UNION ALL
SELECT 9 ,16 UNION ALL
SELECT 10 ,7 UNION ALL
SELECT 11 ,0 UNION ALL
SELECT 12 ,35
)
SELECT vi,COUNT(vi) Occurence
FROM CTE
WHERE vi IN (7,0) -- Specific values count Required use this where condition else remove
GROUP BY vi
结果
vi Occurence
--------------
0 4
7 4
答案 1 :(得分:2)
答案 2 :(得分:1)
我认为您可以像这样使用sum
和case-when
select
sum(case when vi = 7 then 1 else 0 end) as [7Count],
sum(case when vi = 0 then 1 else 0 end) as [0Count]
from table