0

I have a data like below format, now I want to count the occurrences of '7' and '0', like how many time it's showed up in the table from 'vi' column ??

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

thanks in advance

DilbertFan
  • 113
  • 1
  • 1
  • 9

3 Answers3

2

Try this

  ;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

Result

vi  Occurence
--------------
0      4
7      4
Sreenu131
  • 2,476
  • 1
  • 7
  • 18
2

MS SQL Can be achieved by GROUP BY

select vi, count(1) [COUNT] from @table1
group by vi
having vi in (7,0)

DEMO

Idris
  • 351
  • 1
  • 9
1

I think you can use sum and case-when like:

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
Eray Balkanli
  • 7,752
  • 11
  • 48
  • 82