Mysql SQL统计公共的多对多关系
我对此架构有sql问题:Mysql SQL统计公共的多对多关系,mysql,sql,many-to-many,Mysql,Sql,Many To Many,我对此架构有sql问题: 表用户(id、名称) 表页(id、名称) 表格页面用户(id页面,id用户) 一个页面可以被多个用户喜欢,一个用户可以喜欢多个页面 我想在我的表中选择所有用户,其中有一列与某个fixe用户相同的喜欢的页面数 比如: id\u user | page_in_common_与_user#id#u count您可以通过以下查询轻松完成此操作: select id_user , count(id_page) from user left outer join page_us
表用户(id、名称)
表页(id、名称)
表格页面用户(id页面,id用户)
一个页面可以被多个用户喜欢,一个用户可以喜欢多个页面
我想在我的表中选择所有用户,其中有一列与某个fixe用户相同的喜欢的页面数
比如:
id\u user | page_in_common_与_user#id#u count
您可以通过以下查询轻松完成此操作:
select id_user , count(id_page)
from user left outer join page_user on user.id = page_user.id_user
group by id_user
假设“喜欢的页面”指的是page\u user
表,那么您可以使用自连接:
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;
这只是显示用户喜欢的页面数。