sql - SQL 获取与事件的交集的所有组合
问题描述
我有一个带有 consumer_id 和 item_id 的表(事务)。我想输出项目的所有组合以及购买这两个项目的客户数量。这如何在 SQL 中完成。
Transaction :
consumer_id,item_id
Output:
item_1,item_2,purchased_together
解决方案
我想你想要一个自我加入:
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
推荐阅读
- node.js - Firebase 在本地调用实时数据库 onCreate 函数
- asp.net - ASP.NET Core 身份不发送电子邮件
- tensorflow - 将基于 tensorflow 会话的代码转换为distribute.Mirroredstrategy
- google-cloud-storage - gcsfuse 不会写入文件夹
- django - 注销消息
- sql - 从另一个表插入更快的 Sqlite
- javascript - 使用 JavaScript 减少 [ { x: 2 }, { x: 22 }, { x: 42 } ]
- scala - Apache Spark 可视化
- bash - kill -TSTP 是否有可以停止进程的最长时间?
- aws-lambda - 如何通过 terraform 创建 lambda 事件模板?