首页新闻找找看学习计划

求订单任意货物同时出现的算法

0
悬赏园豆:30 [待解决问题]

订单构成:
主单Order{OrderID}
明细OrderDetail{OrderID,ProductID,Num}
目标是从一大批订单(数十万)List<Order>中计算出任意两个(2-5个产品)同时出现在同一订单上的次数。
简单循环是肯定行不通的了,求大神们指点算法。

不同人的主页 不同人 | 初学一级 | 园豆:4
提问于:2013-09-06 23:33
< >
分享
所有回答(1)
0

数据库里面运算脚本

1 SELECT od1.ProductID AS ProductID1, od2.ProductID AS ProductID2, od1.ProcessCenterID, COUNT(1) AS TogethorCount
2 FROM OrderDetails od1 
3 INNER JOIN OrderDetails od2 ON od1.OrderID = od2.OrderID AND od1.ProductID <> od2.ProductID
4 GROUP BY od1.ProductID, od2.ProductID, od1.ProcessCenterID
5 HAVING TogethorCount >= 3
不同人 | 园豆:4 (初学一级) | 2013-09-08 23:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册