SQL - 计算列中的出现次数

时间:2017-11-04 11:52:30

标签: sql

我想计算包含字符串的列(col2)中的值,以便新列(count)返回字符串数。

例如:

col1 | col2 | count
1    | dog  |  1
2    | cat  |  2
3    | cat  |  2
4    | bird |  1

...

2 个答案:

答案 0 :(得分:0)

标准SQL提供执行此操作的窗口函数:

select col1, col2, count(*) over (col2) as cnt
from t;

答案 1 :(得分:0)

如果您正在使用Microsoft SQL Server,那么您可以使用下面的SQL脚本

SELECT col1,
       col2,
       COUNT(col2) OVER(PARTITION BY col2) AS cnt
FROM <table_name>
ORDER BY col1;

结果:

col1 col2   cnt
1    dog    1
2    cat    2
3    cat    2
4    bird   1