我很确定这是一个简单的问题,但我在措辞上有困难。

我需要根据另一列中的不同条件计算一列中值的总数。

例子:

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;

注意:这是对包含值的行进行计数。如果多个值出现在一行中,则查询会稍微复杂一些。

10-06 01:49