我必须要有Bills
和BillDetails
表。
Bill
表包含以下列:
billId, salesManId, purchaseBranch
BillDetails
表包含以下列:
billDetailId , billId, productId, purchaseBranch, Quantity
我想要的是报告以找到前2个相关产品
例如
购买iPhone X的人也购买了
购买三星s5282的人还购买了:
我知道它在某种程度上被称为推荐系统,但是我不知道如何实现它
答案 0 :(得分:1)
如果购买是同一笔账单,则可以使用自动加入和汇总:
select bd1.productid, bd2.productid, count(*)
from billdetails bd1 join
billdetails bd2
on bd1.billid = bd2.billid
group by bd1.productid, bd2.productid
order by bd1.productid, count(*) desc;
对于每种产品,这给出了所有相关产品,并按照出现频率在帐单上排序。