计算每对物品在SQL中的相同订单ID的次数

问题描述:

我想查找更频繁订购的skuid对,然后查看这些对。 我的SKU表有2列:skuidorderid。 例如:计算每对物品在SQL中的相同订单ID的次数

orderid | skuid 
--------|--------- 
1  | a 
1  | b 
1  | c 
3  | a 
3  | b 
3  | d 
3  | c 
5  | a 
5  | b 

因此,在这种情况下,这将是: skuid(A,B)对出现3次,并(A,C),(B,C)对出现2次。

在此先感谢。

+0

您正在使用哪个数据库?另外,'b,c'不会出现两次(对于id 1和3)? – sgeddes

+0

是的!我重新编辑了这个问题。你是对的。你是什​​么意思数据库? – Apple12

假设(orderid, skuid)是独一无二的:

SELECT t1.skuid 
    ,t2.skuid 
    ,COUNT(*) "count" 
FROM UnnamedTable t1 
INNER JOIN UnnamedTable t2 
    ON t1.orderid = t2.orderid 
    AND t1.skuid < t2.skuid 
GROUP BY t1.skuid 
    ,t2.skuid; 

连接条件应给你两个skuids的每一个独特的组合。那么这只是一个数数的问题

+0

t1.skuid kamahl

+0

感谢培根位!你的回答解决了我的问题! – Apple12