我很确定这是一个简单的问题,但我在措辞上有困难。
我需要根据另一列中的不同条件计算一列中值的总数。
例子:
A CD
B ABC
C AD
D A
会产生:
A 3
B 1
C 2
D 2
最佳答案
首先,您不应该将事物列表存储在字符串中。
但是,有时人们会坚持使用这种格式。在您的示例中,您似乎有一个包含所有可能值的表。如果是这样,您可以使用 join
:
select e.col1, count(e2.col2)
from example e left join
example e2
on charindex(e.col1, e2.col2) > 0
group by e.col1;
注意:这是对包含值的行进行计数。如果多个值出现在一行中,则查询会稍微复杂一些。