我想要计算每对SKU一起订购的次数(具有相同的orderid)
我有一个订单客户表,其中包含2列 ORDERID 和 SKUID
例如
ORDERID SKUID
1 1
1 2
1 3
2 1
2 2
2 4
3 1
3 4
我想要一个结果表
SKU1 SKU2 COUNT
1 2 2
1 3 1
1 4 2
2 3 1
2 4 1
3 4 0
谢谢
答案 0 :(得分:1)
您可以使用自联接和聚合执行此操作:
select o1.sku, o2.sku, count(distinct o1.orderid) as numorders
from orders o1 join
orders o2
on o1.orderid = o2.orderid and o1.sku < o2.sku;
如果您知道每个订单中的skus都是唯一的,那么您可以使用count(*)
代替count(distinct)
。