gpt4 book ai didi

MySQL 推荐一个项目。

转载 作者:行者123 更新时间:2023-11-29 14:11:31 26 4
gpt4 key购买 nike

我正在尝试运行一个查询,对于选定的人,它将根据他们的购买历史记录以及也购买该商品的其他人购买的商品推荐商品。

示例:

Customer 1 purchases item A, and B.
Customer 2 purchases item B.
Customer 2 is recommended, item A.

我在此使用了 4 个表,我将列出它们以及相关的行名称。

Customer
PK: Cust_ID

Session
PK: Ses_ID
FK: Cust_ID

Order
PK: Order_ID
FK: ItemRef_ID
FK: Session_ID

Item
PK: Item_ID

我对 SQL 还很陌生,但这是我到目前为止所得到的,接下来我真的不知道如何去做。

目前,它只提供所选客户购买“Lani Morgan”的商品,但我希望它显示其他客户购买的商品,这些客户购买了“Lani Morgan”购买的商品。

SELECT Item_Desc, Item_ID 
FROM rbickers.Item

LEFT JOIN rbickers.Order
ON Item.Item_id = Order.itemref_id

LEFT join rbickers.Session
ON Order.Session_id = Session.Ses_id

left join rbickers.customer
On customer.cust_ID = session.Cust_ID

Where Cust_First = "Lani" and Cust_Last = "Morgan"

GROUP BY Item_Type

LIMIT 10

任何帮助将不胜感激,谢谢。

最佳答案

因此,根据您的基本版本和提供的架构,我看到它实现的方式是检查每件商品,如果不是由 customer1 购买,而是由任何其他购买 customer1 购买的商品的客户购买。由于此架构要求您连接所有给定的表,因此我要求您创建您提供的连接的 View :

create view CustomerItems as 
SELECT *
FROM rbickers.Item

LEFT JOIN rbickers.Order
ON Item.Item_id = Order.itemref_id

LEFT join rbickers.Session
ON Order.Session_id = Session.Ses_id

left join rbickers.customer
On customer.cust_ID = session.Cust_ID

#Where Cust_First = "Lani" and Cust_Last = "Morgan"

然后:

select distinct item.* from item, CustomerItems cust1 where 
cust1.Cust_First="Lani" and cust1.Cust_Last="Morgan" and
item.Item_ID not in(
select Item_ID from CustomerItems cust2 where cust1.Cust_ID=cust2.Cust_ID)
and exists(select * from CustomerItems cust3 where
cust3.Cust_ID<>cust1.cust_ID and item.Item_ID=cust3.Item_ID);

关于MySQL 推荐一个项目。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13441113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com