如何计算多行和同一列中的每个值?
How to count each value in multiple rows and same column?
我无法计算每个标签的数量。
例如:
tags
0 a,b,c,d
1 a,b
2 c,d
3 a,c
我的预期结果:
tags count
a 3
b 2
c 3
d 2
欢迎来到 Whosebug!
你有代码示例吗?您的标签显示 "SQL",所以这就是我的假设。由于您没有给我们提供足够的信息来提供帮助,因此我现在无法从您的问题中获知太多信息。对于您已经尝试做的事情添加更多详细信息对于以后的问题会很好。
不过,我发现这个 post 是关于计算列值的出现次数的,因此它可以回答您的问题。如果需要,您可以随时编辑您的问题以使其清晰明了!
您可以使用 STRING_SPLIT 来实现此目的
SELECT
value, count(*) as countOfTags
FROM
(
VALUES
(0, 'a,b,c,d')
,(1, 'a,b' )
,(2, 'c,d' )
,(3, 'a,c' )
) as t(id, tags)
CROSS APPLY
string_split(tags,',')
GROUP BY value;
结果集
+-------+-------------+
| value | countOfTags |
+-------+-------------+
| a | 3 |
| b | 2 |
| c | 3 |
| d | 2 |
+-------+-------------+
我无法计算每个标签的数量。
例如:
tags
0 a,b,c,d
1 a,b
2 c,d
3 a,c
我的预期结果:
tags count
a 3
b 2
c 3
d 2
欢迎来到 Whosebug!
你有代码示例吗?您的标签显示 "SQL",所以这就是我的假设。由于您没有给我们提供足够的信息来提供帮助,因此我现在无法从您的问题中获知太多信息。对于您已经尝试做的事情添加更多详细信息对于以后的问题会很好。
不过,我发现这个 post 是关于计算列值的出现次数的,因此它可以回答您的问题。如果需要,您可以随时编辑您的问题以使其清晰明了!
您可以使用 STRING_SPLIT 来实现此目的
SELECT
value, count(*) as countOfTags
FROM
(
VALUES
(0, 'a,b,c,d')
,(1, 'a,b' )
,(2, 'c,d' )
,(3, 'a,c' )
) as t(id, tags)
CROSS APPLY
string_split(tags,',')
GROUP BY value;
结果集
+-------+-------------+
| value | countOfTags |
+-------+-------------+
| a | 3 |
| b | 2 |
| c | 3 |
| d | 2 |
+-------+-------------+