从列中统计 7 和 0 出现的次数

Posted

技术标签:

【中文标题】从列中统计 7 和 0 出现的次数【英文标题】:Count the number of occurrence of 7 and 0 from the column 【发布时间】:2019-08-11 04:40:56 【问题描述】:

我有一个类似下面格式的数据,现在我想计算'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

提前致谢

【问题讨论】:

似乎是直截了当的WHERE ... GROUP BY 查询。你有没有尝试过? SQL SELECT WHERE field contains words的可能重复 提示:COUNT()WHERE vi列的数据类型是什么? 【参考方案1】:

试试这个

  ;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

【讨论】:

很高兴帮助兄弟:)【参考方案2】:

MS SQL 可以通过 GROUP BY 实现

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

DEMO

【讨论】:

【参考方案3】:

我认为你可以使用sumcase-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

【讨论】:

以上是关于从列中统计 7 和 0 出现的次数的主要内容,如果未能解决你的问题,请参考以下文章

如何在excel表中统计出不同数据出现的次数?

DataFrame中统计某几列中字符出现次数并比较

EXCEL中统计某个区域内多个数字一共出现的次数

请大神指导从大日志文件中统计关键字次数的办法

从文件中统计中文词语出现的频次

ndarray 布尔类型矩阵中统计Ture 的次数