在 SQL 服务器中同时出现的计数

Count of Occurring together in SQL Server

我有一个数据集,其中配置了项目和产品。我想找出这些产品一起出现的项目数。

我的数据集:

我正在寻找

的不同输出

我尝试使用自连接,但我得到了重复的组合,例如 C2 C3 C4 和 C2 C4 C3。

谁能建议我们如何实现这一目标?

您使用了自联接。 . .两次:

select d1.product, d2.product, d3.product, count(*)
from dataset d1 join
     dataset d2
     on d1.project = d2.project and
        d1.product < d2.product join
     dataset d3
     on d2.project = d3.project and
        d2.product < d3.product
group by d1.product, d2.product, d3.product;