SQL Server中一起发生的次数

时间:2019-03-21 01:52:07

标签: sql sql-server-2014

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

我的数据集:

enter image description here

我正在寻找

的不同输出

enter image description here

我尝试使用自我连接,但在组合中却出现重复 C2 C3 C4和C2 C4 C3。

有人可以建议我们如何实现这一目标吗?

1 个答案:

答案 0 :(得分:3)

您使用自我联接。 。 。两次:

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;