从列中统计 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】:我认为你可以使用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
【讨论】:
以上是关于从列中统计 7 和 0 出现的次数的主要内容,如果未能解决你的问题,请参考以下文章