Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL统计公共的多对多关系_Mysql_Sql_Many To Many - Fatal编程技术网

Mysql 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

我对此架构有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_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;

这只是显示用户喜欢的页面数。