获取SQL Server中列的频率

o4tp2gmn  于 2022-12-17  发布在  SQL Server
关注(0)|答案(3)|浏览(158)

我有一个值为1,1,2,1 ...的列,我希望得到1和2的频率,我做到了

SELECT count(column)
FROM table
WHERE column = 1;

SELECT count(column)
FROM table
WHERE column = 2;

但是,我能用更直接的方式获得频率吗?

izj3ouym

izj3ouym1#

使用聚合函数

Select column, count(*)
 From   table
 Group By column

对于列中的每个非重复值,这将返回一个包含计数的行

enyaitl3

enyaitl32#

每个值占一行:

select column 'value', count (column) 'Frequency'
from table
group by column

如果只有2个值,则在一行中给出两个结果

select sum(case when column=1 then 1 else 0 end) as '1 Frequency',
        sum(case when column=2 then 1 else 0 end) as '2 Frequency'
from table
nkoocmlb

nkoocmlb3#

你可以试试不同的功能,像这样

SELECT count( distinct column) FROM table;

相关问题