![](/img/trans.png)
[英]What do I need in a database for "Customers Who Bought This Item Also Bought"?
[英]Customers who bought this also bought this… Help
嗨试图弄清楚这一点,看了很多地方,但由于我的表结构,我正在努力。 这是我的表结构:
用户 - id,登录(pk)
课程 - id(pk),名字
users_to_lessons - users_LOGIN(fk),lessons_ID(fk)
如何实施“购买此产品的客户还购买了这个......”功能?
我真的不明白你的问题以及你需要什么。
总之,假设你的用户使用id = my_user_id得到使用id = my_lesson_id一个教训,你想知道谁得到my_lesson_id其他用户的所有课程,试试这个:
SELECT DISTINCT l.id, l.name, COUNT(l.id) as rank
FROM lessons l JOIN users_to_lessons ul
ON l.id = ul.lessons_ID
WHERE l.id<>my_lesson_id AND
ul.users_LOGIN IN
(SELECT DISTINCT us.login FROM users us
JOIN users_to_lessons ls ON us.login = ls.users_LOGIN
WHERE ls.lessons_ID = my_lesson_id
AND us.id<>my_user_id)
GROUP BY l.id
ORDER BY rank DESC, l.name
尝试以下方法之一:
select
lessons_ID
from
users_to_lessons
where
user_LOGIN IN
(
select
user_LOGIN
from
users_to_lessons
where
lessons_ID = 1
)
AND
lessons_ID <>1
;
select
ul2.lessons_ID
from
users_to_lessons ul1
inner join
users_to_lessons ul2
on
ul1.user_LOGIN = ul2.user_LOGIN
where
ul1.lessons_ID = 1
AND
ul2.lessons_ID <> 1
;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.