我对这个模式有一个sql问题:table user(id, name)table page(id, name)table page_user(id_page, id_user)
一个页面可以被多个用户喜欢,一个用户可以喜欢多个页面
我想选择表中的所有用户,这些用户的列中包含与某个fixe用户相同的喜欢的页面数
比如:id_user | page_in_common_with_user_#id#_count
最佳答案
假设“liked page”指的是page_user
表,那么可以使用self join:
select pu.id_user, count(pux.id_page) as PagesInCommonWithX
from page_user pu left join
page_user pux
on pu.id_page = pux.id_page and
pux.id_user = $x
group by pu.id_user;
关于mysql - SQL共同点对多关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35411412/