首页 > 解决方案 > SQL 获取与事件的交集的所有组合

问题描述

我有一个带有 consumer_id 和 item_id 的表(事务)。我想输出项目的所有组合以及购买这两个项目的客户数量。这如何在 SQL 中完成。

Transaction : 
consumer_id,item_id
Output:
item_1,item_2,purchased_together

标签: sql

解决方案


我想你想要一个自我加入:

select t1.item, t2.item, count(*) as num_customers
from transaction t1 join
     transaction t2
     on t1.consumer_id = t2.consumer_id and
        t1.item < t2.item
group by t1.item, t2.item

推荐阅读